/*
 * Copyright Codeplay Software Ltd.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use these files except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

// DO NOT MODIFY BY HAND
// This file was automatically generated by generate_matmul_tests.py.
// Results calculated using Tensorflow v1.12.0.

#include <gtest/gtest.h>
#include <vector>

#include "test/matmul/fixture.h"
#include "test/types/kernel_data_types.h"
#include "test/types/to_gtest_types.h"

using DataTypeList = sycldnn::types::KernelDataTypes;
using GTestTypeList = sycldnn::types::ToGTestTypes<DataTypeList>::type;

template <typename DataType>
using MatmulBatch3Beta0FalseFalse = MatmulFixture<DataType, false, false>;
TYPED_TEST_SUITE(MatmulBatch3Beta0FalseFalse, GTestTypeList);
TYPED_TEST(MatmulBatch3Beta0FalseFalse, M14xK14xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      12845.,   12950.,   13055.,   13160.,   13265.,   13370.,   13475.,
      13580.,   13685.,   13790.,   13895.,   14000.,   14105.,   14210.,
      30877.,   31178.,   31479.,   31780.,   32081.,   32382.,   32683.,
      32984.,   33285.,   33586.,   33887.,   34188.,   34489.,   34790.,
      48909.,   49406.,   49903.,   50400.,   50897.,   51394.,   51891.,
      52388.,   52885.,   53382.,   53879.,   54376.,   54873.,   55370.,
      66941.,   67634.,   68327.,   69020.,   69713.,   70406.,   71099.,
      71792.,   72485.,   73178.,   73871.,   74564.,   75257.,   75950.,
      84973.,   85862.,   86751.,   87640.,   88529.,   89418.,   90307.,
      91196.,   92085.,   92974.,   93863.,   94752.,   95641.,   96530.,
      103005.,  104090.,  105175.,  106260.,  107345.,  108430.,  109515.,
      110600.,  111685.,  112770.,  113855.,  114940.,  116025.,  117110.,
      121037.,  122318.,  123599.,  124880.,  126161.,  127442.,  128723.,
      130004.,  131285.,  132566.,  133847.,  135128.,  136409.,  137690.,
      139069.,  140546.,  142023.,  143500.,  144977.,  146454.,  147931.,
      149408.,  150885.,  152362.,  153839.,  155316.,  156793.,  158270.,
      157101.,  158774.,  160447.,  162120.,  163793.,  165466.,  167139.,
      168812.,  170485.,  172158.,  173831.,  175504.,  177177.,  178850.,
      175133.,  177002.,  178871.,  180740.,  182609.,  184478.,  186347.,
      188216.,  190085.,  191954.,  193823.,  195692.,  197561.,  199430.,
      193165.,  195230.,  197295.,  199360.,  201425.,  203490.,  205555.,
      207620.,  209685.,  211750.,  213815.,  215880.,  217945.,  220010.,
      211197.,  213458.,  215719.,  217980.,  220241.,  222502.,  224763.,
      227024.,  229285.,  231546.,  233807.,  236068.,  238329.,  240590.,
      229229.,  231686.,  234143.,  236600.,  239057.,  241514.,  243971.,
      246428.,  248885.,  251342.,  253799.,  256256.,  258713.,  261170.,
      247261.,  249914.,  252567.,  255220.,  257873.,  260526.,  263179.,
      265832.,  268485.,  271138.,  273791.,  276444.,  279097.,  281750.,
      823697.,  826546.,  829395.,  832244.,  835093.,  837942.,  840791.,
      843640.,  846489.,  849338.,  852187.,  855036.,  857885.,  860734.,
      880145.,  883190.,  886235.,  889280.,  892325.,  895370.,  898415.,
      901460.,  904505.,  907550.,  910595.,  913640.,  916685.,  919730.,
      936593.,  939834.,  943075.,  946316.,  949557.,  952798.,  956039.,
      959280.,  962521.,  965762.,  969003.,  972244.,  975485.,  978726.,
      993041.,  996478.,  999915.,  1003352., 1006789., 1010226., 1013663.,
      1017100., 1020537., 1023974., 1027411., 1030848., 1034285., 1037722.,
      1049489., 1053122., 1056755., 1060388., 1064021., 1067654., 1071287.,
      1074920., 1078553., 1082186., 1085819., 1089452., 1093085., 1096718.,
      1105937., 1109766., 1113595., 1117424., 1121253., 1125082., 1128911.,
      1132740., 1136569., 1140398., 1144227., 1148056., 1151885., 1155714.,
      1162385., 1166410., 1170435., 1174460., 1178485., 1182510., 1186535.,
      1190560., 1194585., 1198610., 1202635., 1206660., 1210685., 1214710.,
      1218833., 1223054., 1227275., 1231496., 1235717., 1239938., 1244159.,
      1248380., 1252601., 1256822., 1261043., 1265264., 1269485., 1273706.,
      1275281., 1279698., 1284115., 1288532., 1292949., 1297366., 1301783.,
      1306200., 1310617., 1315034., 1319451., 1323868., 1328285., 1332702.,
      1331729., 1336342., 1340955., 1345568., 1350181., 1354794., 1359407.,
      1364020., 1368633., 1373246., 1377859., 1382472., 1387085., 1391698.,
      1388177., 1392986., 1397795., 1402604., 1407413., 1412222., 1417031.,
      1421840., 1426649., 1431458., 1436267., 1441076., 1445885., 1450694.,
      1444625., 1449630., 1454635., 1459640., 1464645., 1469650., 1474655.,
      1479660., 1484665., 1489670., 1494675., 1499680., 1504685., 1509690.,
      1501073., 1506274., 1511475., 1516676., 1521877., 1527078., 1532279.,
      1537480., 1542681., 1547882., 1553083., 1558284., 1563485., 1568686.,
      1557521., 1562918., 1568315., 1573712., 1579109., 1584506., 1589903.,
      1595300., 1600697., 1606094., 1611491., 1616888., 1622285., 1627682.,
      2710197., 2715790., 2721383., 2726976., 2732569., 2738162., 2743755.,
      2749348., 2754941., 2760534., 2766127., 2771720., 2777313., 2782906.,
      2805061., 2810850., 2816639., 2822428., 2828217., 2834006., 2839795.,
      2845584., 2851373., 2857162., 2862951., 2868740., 2874529., 2880318.,
      2899925., 2905910., 2911895., 2917880., 2923865., 2929850., 2935835.,
      2941820., 2947805., 2953790., 2959775., 2965760., 2971745., 2977730.,
      2994789., 3000970., 3007151., 3013332., 3019513., 3025694., 3031875.,
      3038056., 3044237., 3050418., 3056599., 3062780., 3068961., 3075142.,
      3089653., 3096030., 3102407., 3108784., 3115161., 3121538., 3127915.,
      3134292., 3140669., 3147046., 3153423., 3159800., 3166177., 3172554.,
      3184517., 3191090., 3197663., 3204236., 3210809., 3217382., 3223955.,
      3230528., 3237101., 3243674., 3250247., 3256820., 3263393., 3269966.,
      3279381., 3286150., 3292919., 3299688., 3306457., 3313226., 3319995.,
      3326764., 3333533., 3340302., 3347071., 3353840., 3360609., 3367378.,
      3374245., 3381210., 3388175., 3395140., 3402105., 3409070., 3416035.,
      3423000., 3429965., 3436930., 3443895., 3450860., 3457825., 3464790.,
      3469109., 3476270., 3483431., 3490592., 3497753., 3504914., 3512075.,
      3519236., 3526397., 3533558., 3540719., 3547880., 3555041., 3562202.,
      3563973., 3571330., 3578687., 3586044., 3593401., 3600758., 3608115.,
      3615472., 3622829., 3630186., 3637543., 3644900., 3652257., 3659614.,
      3658837., 3666390., 3673943., 3681496., 3689049., 3696602., 3704155.,
      3711708., 3719261., 3726814., 3734367., 3741920., 3749473., 3757026.,
      3753701., 3761450., 3769199., 3776948., 3784697., 3792446., 3800195.,
      3807944., 3815693., 3823442., 3831191., 3838940., 3846689., 3854438.,
      3848565., 3856510., 3864455., 3872400., 3880345., 3888290., 3896235.,
      3904180., 3912125., 3920070., 3928015., 3935960., 3943905., 3951850.,
      3943429., 3951570., 3959711., 3967852., 3975993., 3984134., 3992275.,
      4000416., 4008557., 4016698., 4024839., 4032980., 4041121., 4049262.};
  const int batches = 3;
  const int m = 14;
  const int k = 14;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseFalse, M14xK14xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      13755.,   13860.,   13965.,   14070.,   14175.,   14280.,   14385.,
      14490.,   14595.,   14700.,   14805.,   14910.,   15015.,   15120.,
      15225.,   33061.,   33362.,   33663.,   33964.,   34265.,   34566.,
      34867.,   35168.,   35469.,   35770.,   36071.,   36372.,   36673.,
      36974.,   37275.,   52367.,   52864.,   53361.,   53858.,   54355.,
      54852.,   55349.,   55846.,   56343.,   56840.,   57337.,   57834.,
      58331.,   58828.,   59325.,   71673.,   72366.,   73059.,   73752.,
      74445.,   75138.,   75831.,   76524.,   77217.,   77910.,   78603.,
      79296.,   79989.,   80682.,   81375.,   90979.,   91868.,   92757.,
      93646.,   94535.,   95424.,   96313.,   97202.,   98091.,   98980.,
      99869.,   100758.,  101647.,  102536.,  103425.,  110285.,  111370.,
      112455.,  113540.,  114625.,  115710.,  116795.,  117880.,  118965.,
      120050.,  121135.,  122220.,  123305.,  124390.,  125475.,  129591.,
      130872.,  132153.,  133434.,  134715.,  135996.,  137277.,  138558.,
      139839.,  141120.,  142401.,  143682.,  144963.,  146244.,  147525.,
      148897.,  150374.,  151851.,  153328.,  154805.,  156282.,  157759.,
      159236.,  160713.,  162190.,  163667.,  165144.,  166621.,  168098.,
      169575.,  168203.,  169876.,  171549.,  173222.,  174895.,  176568.,
      178241.,  179914.,  181587.,  183260.,  184933.,  186606.,  188279.,
      189952.,  191625.,  187509.,  189378.,  191247.,  193116.,  194985.,
      196854.,  198723.,  200592.,  202461.,  204330.,  206199.,  208068.,
      209937.,  211806.,  213675.,  206815.,  208880.,  210945.,  213010.,
      215075.,  217140.,  219205.,  221270.,  223335.,  225400.,  227465.,
      229530.,  231595.,  233660.,  235725.,  226121.,  228382.,  230643.,
      232904.,  235165.,  237426.,  239687.,  241948.,  244209.,  246470.,
      248731.,  250992.,  253253.,  255514.,  257775.,  245427.,  247884.,
      250341.,  252798.,  255255.,  257712.,  260169.,  262626.,  265083.,
      267540.,  269997.,  272454.,  274911.,  277368.,  279825.,  264733.,
      267386.,  270039.,  272692.,  275345.,  277998.,  280651.,  283304.,
      285957.,  288610.,  291263.,  293916.,  296569.,  299222.,  301875.,
      882329.,  885178.,  888027.,  890876.,  893725.,  896574.,  899423.,
      902272.,  905121.,  907970.,  910819.,  913668.,  916517.,  919366.,
      922215.,  942795.,  945840.,  948885.,  951930.,  954975.,  958020.,
      961065.,  964110.,  967155.,  970200.,  973245.,  976290.,  979335.,
      982380.,  985425.,  1003261., 1006502., 1009743., 1012984., 1016225.,
      1019466., 1022707., 1025948., 1029189., 1032430., 1035671., 1038912.,
      1042153., 1045394., 1048635., 1063727., 1067164., 1070601., 1074038.,
      1077475., 1080912., 1084349., 1087786., 1091223., 1094660., 1098097.,
      1101534., 1104971., 1108408., 1111845., 1124193., 1127826., 1131459.,
      1135092., 1138725., 1142358., 1145991., 1149624., 1153257., 1156890.,
      1160523., 1164156., 1167789., 1171422., 1175055., 1184659., 1188488.,
      1192317., 1196146., 1199975., 1203804., 1207633., 1211462., 1215291.,
      1219120., 1222949., 1226778., 1230607., 1234436., 1238265., 1245125.,
      1249150., 1253175., 1257200., 1261225., 1265250., 1269275., 1273300.,
      1277325., 1281350., 1285375., 1289400., 1293425., 1297450., 1301475.,
      1305591., 1309812., 1314033., 1318254., 1322475., 1326696., 1330917.,
      1335138., 1339359., 1343580., 1347801., 1352022., 1356243., 1360464.,
      1364685., 1366057., 1370474., 1374891., 1379308., 1383725., 1388142.,
      1392559., 1396976., 1401393., 1405810., 1410227., 1414644., 1419061.,
      1423478., 1427895., 1426523., 1431136., 1435749., 1440362., 1444975.,
      1449588., 1454201., 1458814., 1463427., 1468040., 1472653., 1477266.,
      1481879., 1486492., 1491105., 1486989., 1491798., 1496607., 1501416.,
      1506225., 1511034., 1515843., 1520652., 1525461., 1530270., 1535079.,
      1539888., 1544697., 1549506., 1554315., 1547455., 1552460., 1557465.,
      1562470., 1567475., 1572480., 1577485., 1582490., 1587495., 1592500.,
      1597505., 1602510., 1607515., 1612520., 1617525., 1607921., 1613122.,
      1618323., 1623524., 1628725., 1633926., 1639127., 1644328., 1649529.,
      1654730., 1659931., 1665132., 1670333., 1675534., 1680735., 1668387.,
      1673784., 1679181., 1684578., 1689975., 1695372., 1700769., 1706166.,
      1711563., 1716960., 1722357., 1727754., 1733151., 1738548., 1743945.,
      2903383., 2908976., 2914569., 2920162., 2925755., 2931348., 2936941.,
      2942534., 2948127., 2953720., 2959313., 2964906., 2970499., 2976092.,
      2981685., 3005009., 3010798., 3016587., 3022376., 3028165., 3033954.,
      3039743., 3045532., 3051321., 3057110., 3062899., 3068688., 3074477.,
      3080266., 3086055., 3106635., 3112620., 3118605., 3124590., 3130575.,
      3136560., 3142545., 3148530., 3154515., 3160500., 3166485., 3172470.,
      3178455., 3184440., 3190425., 3208261., 3214442., 3220623., 3226804.,
      3232985., 3239166., 3245347., 3251528., 3257709., 3263890., 3270071.,
      3276252., 3282433., 3288614., 3294795., 3309887., 3316264., 3322641.,
      3329018., 3335395., 3341772., 3348149., 3354526., 3360903., 3367280.,
      3373657., 3380034., 3386411., 3392788., 3399165., 3411513., 3418086.,
      3424659., 3431232., 3437805., 3444378., 3450951., 3457524., 3464097.,
      3470670., 3477243., 3483816., 3490389., 3496962., 3503535., 3513139.,
      3519908., 3526677., 3533446., 3540215., 3546984., 3553753., 3560522.,
      3567291., 3574060., 3580829., 3587598., 3594367., 3601136., 3607905.,
      3614765., 3621730., 3628695., 3635660., 3642625., 3649590., 3656555.,
      3663520., 3670485., 3677450., 3684415., 3691380., 3698345., 3705310.,
      3712275., 3716391., 3723552., 3730713., 3737874., 3745035., 3752196.,
      3759357., 3766518., 3773679., 3780840., 3788001., 3795162., 3802323.,
      3809484., 3816645., 3818017., 3825374., 3832731., 3840088., 3847445.,
      3854802., 3862159., 3869516., 3876873., 3884230., 3891587., 3898944.,
      3906301., 3913658., 3921015., 3919643., 3927196., 3934749., 3942302.,
      3949855., 3957408., 3964961., 3972514., 3980067., 3987620., 3995173.,
      4002726., 4010279., 4017832., 4025385., 4021269., 4029018., 4036767.,
      4044516., 4052265., 4060014., 4067763., 4075512., 4083261., 4091010.,
      4098759., 4106508., 4114257., 4122006., 4129755., 4122895., 4130840.,
      4138785., 4146730., 4154675., 4162620., 4170565., 4178510., 4186455.,
      4194400., 4202345., 4210290., 4218235., 4226180., 4234125., 4224521.,
      4232662., 4240803., 4248944., 4257085., 4265226., 4273367., 4281508.,
      4289649., 4297790., 4305931., 4314072., 4322213., 4330354., 4338495.};
  const int batches = 3;
  const int m = 14;
  const int k = 14;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseFalse, M14xK14xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      14665.,   14770.,   14875.,   14980.,   15085.,   15190.,   15295.,
      15400.,   15505.,   15610.,   15715.,   15820.,   15925.,   16030.,
      16135.,   16240.,   35245.,   35546.,   35847.,   36148.,   36449.,
      36750.,   37051.,   37352.,   37653.,   37954.,   38255.,   38556.,
      38857.,   39158.,   39459.,   39760.,   55825.,   56322.,   56819.,
      57316.,   57813.,   58310.,   58807.,   59304.,   59801.,   60298.,
      60795.,   61292.,   61789.,   62286.,   62783.,   63280.,   76405.,
      77098.,   77791.,   78484.,   79177.,   79870.,   80563.,   81256.,
      81949.,   82642.,   83335.,   84028.,   84721.,   85414.,   86107.,
      86800.,   96985.,   97874.,   98763.,   99652.,   100541.,  101430.,
      102319.,  103208.,  104097.,  104986.,  105875.,  106764.,  107653.,
      108542.,  109431.,  110320.,  117565.,  118650.,  119735.,  120820.,
      121905.,  122990.,  124075.,  125160.,  126245.,  127330.,  128415.,
      129500.,  130585.,  131670.,  132755.,  133840.,  138145.,  139426.,
      140707.,  141988.,  143269.,  144550.,  145831.,  147112.,  148393.,
      149674.,  150955.,  152236.,  153517.,  154798.,  156079.,  157360.,
      158725.,  160202.,  161679.,  163156.,  164633.,  166110.,  167587.,
      169064.,  170541.,  172018.,  173495.,  174972.,  176449.,  177926.,
      179403.,  180880.,  179305.,  180978.,  182651.,  184324.,  185997.,
      187670.,  189343.,  191016.,  192689.,  194362.,  196035.,  197708.,
      199381.,  201054.,  202727.,  204400.,  199885.,  201754.,  203623.,
      205492.,  207361.,  209230.,  211099.,  212968.,  214837.,  216706.,
      218575.,  220444.,  222313.,  224182.,  226051.,  227920.,  220465.,
      222530.,  224595.,  226660.,  228725.,  230790.,  232855.,  234920.,
      236985.,  239050.,  241115.,  243180.,  245245.,  247310.,  249375.,
      251440.,  241045.,  243306.,  245567.,  247828.,  250089.,  252350.,
      254611.,  256872.,  259133.,  261394.,  263655.,  265916.,  268177.,
      270438.,  272699.,  274960.,  261625.,  264082.,  266539.,  268996.,
      271453.,  273910.,  276367.,  278824.,  281281.,  283738.,  286195.,
      288652.,  291109.,  293566.,  296023.,  298480.,  282205.,  284858.,
      287511.,  290164.,  292817.,  295470.,  298123.,  300776.,  303429.,
      306082.,  308735.,  311388.,  314041.,  316694.,  319347.,  322000.,
      940961.,  943810.,  946659.,  949508.,  952357.,  955206.,  958055.,
      960904.,  963753.,  966602.,  969451.,  972300.,  975149.,  977998.,
      980847.,  983696.,  1005445., 1008490., 1011535., 1014580., 1017625.,
      1020670., 1023715., 1026760., 1029805., 1032850., 1035895., 1038940.,
      1041985., 1045030., 1048075., 1051120., 1069929., 1073170., 1076411.,
      1079652., 1082893., 1086134., 1089375., 1092616., 1095857., 1099098.,
      1102339., 1105580., 1108821., 1112062., 1115303., 1118544., 1134413.,
      1137850., 1141287., 1144724., 1148161., 1151598., 1155035., 1158472.,
      1161909., 1165346., 1168783., 1172220., 1175657., 1179094., 1182531.,
      1185968., 1198897., 1202530., 1206163., 1209796., 1213429., 1217062.,
      1220695., 1224328., 1227961., 1231594., 1235227., 1238860., 1242493.,
      1246126., 1249759., 1253392., 1263381., 1267210., 1271039., 1274868.,
      1278697., 1282526., 1286355., 1290184., 1294013., 1297842., 1301671.,
      1305500., 1309329., 1313158., 1316987., 1320816., 1327865., 1331890.,
      1335915., 1339940., 1343965., 1347990., 1352015., 1356040., 1360065.,
      1364090., 1368115., 1372140., 1376165., 1380190., 1384215., 1388240.,
      1392349., 1396570., 1400791., 1405012., 1409233., 1413454., 1417675.,
      1421896., 1426117., 1430338., 1434559., 1438780., 1443001., 1447222.,
      1451443., 1455664., 1456833., 1461250., 1465667., 1470084., 1474501.,
      1478918., 1483335., 1487752., 1492169., 1496586., 1501003., 1505420.,
      1509837., 1514254., 1518671., 1523088., 1521317., 1525930., 1530543.,
      1535156., 1539769., 1544382., 1548995., 1553608., 1558221., 1562834.,
      1567447., 1572060., 1576673., 1581286., 1585899., 1590512., 1585801.,
      1590610., 1595419., 1600228., 1605037., 1609846., 1614655., 1619464.,
      1624273., 1629082., 1633891., 1638700., 1643509., 1648318., 1653127.,
      1657936., 1650285., 1655290., 1660295., 1665300., 1670305., 1675310.,
      1680315., 1685320., 1690325., 1695330., 1700335., 1705340., 1710345.,
      1715350., 1720355., 1725360., 1714769., 1719970., 1725171., 1730372.,
      1735573., 1740774., 1745975., 1751176., 1756377., 1761578., 1766779.,
      1771980., 1777181., 1782382., 1787583., 1792784., 1779253., 1784650.,
      1790047., 1795444., 1800841., 1806238., 1811635., 1817032., 1822429.,
      1827826., 1833223., 1838620., 1844017., 1849414., 1854811., 1860208.,
      3096569., 3102162., 3107755., 3113348., 3118941., 3124534., 3130127.,
      3135720., 3141313., 3146906., 3152499., 3158092., 3163685., 3169278.,
      3174871., 3180464., 3204957., 3210746., 3216535., 3222324., 3228113.,
      3233902., 3239691., 3245480., 3251269., 3257058., 3262847., 3268636.,
      3274425., 3280214., 3286003., 3291792., 3313345., 3319330., 3325315.,
      3331300., 3337285., 3343270., 3349255., 3355240., 3361225., 3367210.,
      3373195., 3379180., 3385165., 3391150., 3397135., 3403120., 3421733.,
      3427914., 3434095., 3440276., 3446457., 3452638., 3458819., 3465000.,
      3471181., 3477362., 3483543., 3489724., 3495905., 3502086., 3508267.,
      3514448., 3530121., 3536498., 3542875., 3549252., 3555629., 3562006.,
      3568383., 3574760., 3581137., 3587514., 3593891., 3600268., 3606645.,
      3613022., 3619399., 3625776., 3638509., 3645082., 3651655., 3658228.,
      3664801., 3671374., 3677947., 3684520., 3691093., 3697666., 3704239.,
      3710812., 3717385., 3723958., 3730531., 3737104., 3746897., 3753666.,
      3760435., 3767204., 3773973., 3780742., 3787511., 3794280., 3801049.,
      3807818., 3814587., 3821356., 3828125., 3834894., 3841663., 3848432.,
      3855285., 3862250., 3869215., 3876180., 3883145., 3890110., 3897075.,
      3904040., 3911005., 3917970., 3924935., 3931900., 3938865., 3945830.,
      3952795., 3959760., 3963673., 3970834., 3977995., 3985156., 3992317.,
      3999478., 4006639., 4013800., 4020961., 4028122., 4035283., 4042444.,
      4049605., 4056766., 4063927., 4071088., 4072061., 4079418., 4086775.,
      4094132., 4101489., 4108846., 4116203., 4123560., 4130917., 4138274.,
      4145631., 4152988., 4160345., 4167702., 4175059., 4182416., 4180449.,
      4188002., 4195555., 4203108., 4210661., 4218214., 4225767., 4233320.,
      4240873., 4248426., 4255979., 4263532., 4271085., 4278638., 4286191.,
      4293744., 4288837., 4296586., 4304335., 4312084., 4319833., 4327582.,
      4335331., 4343080., 4350829., 4358578., 4366327., 4374076., 4381825.,
      4389574., 4397323., 4405072., 4397225., 4405170., 4413115., 4421060.,
      4429005., 4436950., 4444895., 4452840., 4460785., 4468730., 4476675.,
      4484620., 4492565., 4500510., 4508455., 4516400., 4505613., 4513754.,
      4521895., 4530036., 4538177., 4546318., 4554459., 4562600., 4570741.,
      4578882., 4587023., 4595164., 4603305., 4611446., 4619587., 4627728.};
  const int batches = 3;
  const int m = 14;
  const int k = 14;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseFalse, M14xK15xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      15800.,   15920.,   16040.,   16160.,   16280.,   16400.,   16520.,
      16640.,   16760.,   16880.,   17000.,   17120.,   17240.,   17360.,
      38075.,   38420.,   38765.,   39110.,   39455.,   39800.,   40145.,
      40490.,   40835.,   41180.,   41525.,   41870.,   42215.,   42560.,
      60350.,   60920.,   61490.,   62060.,   62630.,   63200.,   63770.,
      64340.,   64910.,   65480.,   66050.,   66620.,   67190.,   67760.,
      82625.,   83420.,   84215.,   85010.,   85805.,   86600.,   87395.,
      88190.,   88985.,   89780.,   90575.,   91370.,   92165.,   92960.,
      104900.,  105920.,  106940.,  107960.,  108980.,  110000.,  111020.,
      112040.,  113060.,  114080.,  115100.,  116120.,  117140.,  118160.,
      127175.,  128420.,  129665.,  130910.,  132155.,  133400.,  134645.,
      135890.,  137135.,  138380.,  139625.,  140870.,  142115.,  143360.,
      149450.,  150920.,  152390.,  153860.,  155330.,  156800.,  158270.,
      159740.,  161210.,  162680.,  164150.,  165620.,  167090.,  168560.,
      171725.,  173420.,  175115.,  176810.,  178505.,  180200.,  181895.,
      183590.,  185285.,  186980.,  188675.,  190370.,  192065.,  193760.,
      194000.,  195920.,  197840.,  199760.,  201680.,  203600.,  205520.,
      207440.,  209360.,  211280.,  213200.,  215120.,  217040.,  218960.,
      216275.,  218420.,  220565.,  222710.,  224855.,  227000.,  229145.,
      231290.,  233435.,  235580.,  237725.,  239870.,  242015.,  244160.,
      238550.,  240920.,  243290.,  245660.,  248030.,  250400.,  252770.,
      255140.,  257510.,  259880.,  262250.,  264620.,  266990.,  269360.,
      260825.,  263420.,  266015.,  268610.,  271205.,  273800.,  276395.,
      278990.,  281585.,  284180.,  286775.,  289370.,  291965.,  294560.,
      283100.,  285920.,  288740.,  291560.,  294380.,  297200.,  300020.,
      302840.,  305660.,  308480.,  311300.,  314120.,  316940.,  319760.,
      305375.,  308420.,  311465.,  314510.,  317555.,  320600.,  323645.,
      326690.,  329735.,  332780.,  335825.,  338870.,  341915.,  344960.,
      1014350., 1017620., 1020890., 1024160., 1027430., 1030700., 1033970.,
      1037240., 1040510., 1043780., 1047050., 1050320., 1053590., 1056860.,
      1083875., 1087370., 1090865., 1094360., 1097855., 1101350., 1104845.,
      1108340., 1111835., 1115330., 1118825., 1122320., 1125815., 1129310.,
      1153400., 1157120., 1160840., 1164560., 1168280., 1172000., 1175720.,
      1179440., 1183160., 1186880., 1190600., 1194320., 1198040., 1201760.,
      1222925., 1226870., 1230815., 1234760., 1238705., 1242650., 1246595.,
      1250540., 1254485., 1258430., 1262375., 1266320., 1270265., 1274210.,
      1292450., 1296620., 1300790., 1304960., 1309130., 1313300., 1317470.,
      1321640., 1325810., 1329980., 1334150., 1338320., 1342490., 1346660.,
      1361975., 1366370., 1370765., 1375160., 1379555., 1383950., 1388345.,
      1392740., 1397135., 1401530., 1405925., 1410320., 1414715., 1419110.,
      1431500., 1436120., 1440740., 1445360., 1449980., 1454600., 1459220.,
      1463840., 1468460., 1473080., 1477700., 1482320., 1486940., 1491560.,
      1501025., 1505870., 1510715., 1515560., 1520405., 1525250., 1530095.,
      1534940., 1539785., 1544630., 1549475., 1554320., 1559165., 1564010.,
      1570550., 1575620., 1580690., 1585760., 1590830., 1595900., 1600970.,
      1606040., 1611110., 1616180., 1621250., 1626320., 1631390., 1636460.,
      1640075., 1645370., 1650665., 1655960., 1661255., 1666550., 1671845.,
      1677140., 1682435., 1687730., 1693025., 1698320., 1703615., 1708910.,
      1709600., 1715120., 1720640., 1726160., 1731680., 1737200., 1742720.,
      1748240., 1753760., 1759280., 1764800., 1770320., 1775840., 1781360.,
      1779125., 1784870., 1790615., 1796360., 1802105., 1807850., 1813595.,
      1819340., 1825085., 1830830., 1836575., 1842320., 1848065., 1853810.,
      1848650., 1854620., 1860590., 1866560., 1872530., 1878500., 1884470.,
      1890440., 1896410., 1902380., 1908350., 1914320., 1920290., 1926260.,
      1918175., 1924370., 1930565., 1936760., 1942955., 1949150., 1955345.,
      1961540., 1967735., 1973930., 1980125., 1986320., 1992515., 1998710.,
      3335900., 3342320., 3348740., 3355160., 3361580., 3368000., 3374420.,
      3380840., 3387260., 3393680., 3400100., 3406520., 3412940., 3419360.,
      3452675., 3459320., 3465965., 3472610., 3479255., 3485900., 3492545.,
      3499190., 3505835., 3512480., 3519125., 3525770., 3532415., 3539060.,
      3569450., 3576320., 3583190., 3590060., 3596930., 3603800., 3610670.,
      3617540., 3624410., 3631280., 3638150., 3645020., 3651890., 3658760.,
      3686225., 3693320., 3700415., 3707510., 3714605., 3721700., 3728795.,
      3735890., 3742985., 3750080., 3757175., 3764270., 3771365., 3778460.,
      3803000., 3810320., 3817640., 3824960., 3832280., 3839600., 3846920.,
      3854240., 3861560., 3868880., 3876200., 3883520., 3890840., 3898160.,
      3919775., 3927320., 3934865., 3942410., 3949955., 3957500., 3965045.,
      3972590., 3980135., 3987680., 3995225., 4002770., 4010315., 4017860.,
      4036550., 4044320., 4052090., 4059860., 4067630., 4075400., 4083170.,
      4090940., 4098710., 4106480., 4114250., 4122020., 4129790., 4137560.,
      4153325., 4161320., 4169315., 4177310., 4185305., 4193300., 4201295.,
      4209290., 4217285., 4225280., 4233275., 4241270., 4249265., 4257260.,
      4270100., 4278320., 4286540., 4294760., 4302980., 4311200., 4319420.,
      4327640., 4335860., 4344080., 4352300., 4360520., 4368740., 4376960.,
      4386875., 4395320., 4403765., 4412210., 4420655., 4429100., 4437545.,
      4445990., 4454435., 4462880., 4471325., 4479770., 4488215., 4496660.,
      4503650., 4512320., 4520990., 4529660., 4538330., 4547000., 4555670.,
      4564340., 4573010., 4581680., 4590350., 4599020., 4607690., 4616360.,
      4620425., 4629320., 4638215., 4647110., 4656005., 4664900., 4673795.,
      4682690., 4691585., 4700480., 4709375., 4718270., 4727165., 4736060.,
      4737200., 4746320., 4755440., 4764560., 4773680., 4782800., 4791920.,
      4801040., 4810160., 4819280., 4828400., 4837520., 4846640., 4855760.,
      4853975., 4863320., 4872665., 4882010., 4891355., 4900700., 4910045.,
      4919390., 4928735., 4938080., 4947425., 4956770., 4966115., 4975460.};
  const int batches = 3;
  const int m = 14;
  const int k = 15;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseFalse, M14xK15xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      16920.,   17040.,   17160.,   17280.,   17400.,   17520.,   17640.,
      17760.,   17880.,   18000.,   18120.,   18240.,   18360.,   18480.,
      18600.,   40770.,   41115.,   41460.,   41805.,   42150.,   42495.,
      42840.,   43185.,   43530.,   43875.,   44220.,   44565.,   44910.,
      45255.,   45600.,   64620.,   65190.,   65760.,   66330.,   66900.,
      67470.,   68040.,   68610.,   69180.,   69750.,   70320.,   70890.,
      71460.,   72030.,   72600.,   88470.,   89265.,   90060.,   90855.,
      91650.,   92445.,   93240.,   94035.,   94830.,   95625.,   96420.,
      97215.,   98010.,   98805.,   99600.,   112320.,  113340.,  114360.,
      115380.,  116400.,  117420.,  118440.,  119460.,  120480.,  121500.,
      122520.,  123540.,  124560.,  125580.,  126600.,  136170.,  137415.,
      138660.,  139905.,  141150.,  142395.,  143640.,  144885.,  146130.,
      147375.,  148620.,  149865.,  151110.,  152355.,  153600.,  160020.,
      161490.,  162960.,  164430.,  165900.,  167370.,  168840.,  170310.,
      171780.,  173250.,  174720.,  176190.,  177660.,  179130.,  180600.,
      183870.,  185565.,  187260.,  188955.,  190650.,  192345.,  194040.,
      195735.,  197430.,  199125.,  200820.,  202515.,  204210.,  205905.,
      207600.,  207720.,  209640.,  211560.,  213480.,  215400.,  217320.,
      219240.,  221160.,  223080.,  225000.,  226920.,  228840.,  230760.,
      232680.,  234600.,  231570.,  233715.,  235860.,  238005.,  240150.,
      242295.,  244440.,  246585.,  248730.,  250875.,  253020.,  255165.,
      257310.,  259455.,  261600.,  255420.,  257790.,  260160.,  262530.,
      264900.,  267270.,  269640.,  272010.,  274380.,  276750.,  279120.,
      281490.,  283860.,  286230.,  288600.,  279270.,  281865.,  284460.,
      287055.,  289650.,  292245.,  294840.,  297435.,  300030.,  302625.,
      305220.,  307815.,  310410.,  313005.,  315600.,  303120.,  305940.,
      308760.,  311580.,  314400.,  317220.,  320040.,  322860.,  325680.,
      328500.,  331320.,  334140.,  336960.,  339780.,  342600.,  326970.,
      330015.,  333060.,  336105.,  339150.,  342195.,  345240.,  348285.,
      351330.,  354375.,  357420.,  360465.,  363510.,  366555.,  369600.,
      1086570., 1089840., 1093110., 1096380., 1099650., 1102920., 1106190.,
      1109460., 1112730., 1116000., 1119270., 1122540., 1125810., 1129080.,
      1132350., 1161045., 1164540., 1168035., 1171530., 1175025., 1178520.,
      1182015., 1185510., 1189005., 1192500., 1195995., 1199490., 1202985.,
      1206480., 1209975., 1235520., 1239240., 1242960., 1246680., 1250400.,
      1254120., 1257840., 1261560., 1265280., 1269000., 1272720., 1276440.,
      1280160., 1283880., 1287600., 1309995., 1313940., 1317885., 1321830.,
      1325775., 1329720., 1333665., 1337610., 1341555., 1345500., 1349445.,
      1353390., 1357335., 1361280., 1365225., 1384470., 1388640., 1392810.,
      1396980., 1401150., 1405320., 1409490., 1413660., 1417830., 1422000.,
      1426170., 1430340., 1434510., 1438680., 1442850., 1458945., 1463340.,
      1467735., 1472130., 1476525., 1480920., 1485315., 1489710., 1494105.,
      1498500., 1502895., 1507290., 1511685., 1516080., 1520475., 1533420.,
      1538040., 1542660., 1547280., 1551900., 1556520., 1561140., 1565760.,
      1570380., 1575000., 1579620., 1584240., 1588860., 1593480., 1598100.,
      1607895., 1612740., 1617585., 1622430., 1627275., 1632120., 1636965.,
      1641810., 1646655., 1651500., 1656345., 1661190., 1666035., 1670880.,
      1675725., 1682370., 1687440., 1692510., 1697580., 1702650., 1707720.,
      1712790., 1717860., 1722930., 1728000., 1733070., 1738140., 1743210.,
      1748280., 1753350., 1756845., 1762140., 1767435., 1772730., 1778025.,
      1783320., 1788615., 1793910., 1799205., 1804500., 1809795., 1815090.,
      1820385., 1825680., 1830975., 1831320., 1836840., 1842360., 1847880.,
      1853400., 1858920., 1864440., 1869960., 1875480., 1881000., 1886520.,
      1892040., 1897560., 1903080., 1908600., 1905795., 1911540., 1917285.,
      1923030., 1928775., 1934520., 1940265., 1946010., 1951755., 1957500.,
      1963245., 1968990., 1974735., 1980480., 1986225., 1980270., 1986240.,
      1992210., 1998180., 2004150., 2010120., 2016090., 2022060., 2028030.,
      2034000., 2039970., 2045940., 2051910., 2057880., 2063850., 2054745.,
      2060940., 2067135., 2073330., 2079525., 2085720., 2091915., 2098110.,
      2104305., 2110500., 2116695., 2122890., 2129085., 2135280., 2141475.,
      3573720., 3580140., 3586560., 3592980., 3599400., 3605820., 3612240.,
      3618660., 3625080., 3631500., 3637920., 3644340., 3650760., 3657180.,
      3663600., 3698820., 3705465., 3712110., 3718755., 3725400., 3732045.,
      3738690., 3745335., 3751980., 3758625., 3765270., 3771915., 3778560.,
      3785205., 3791850., 3823920., 3830790., 3837660., 3844530., 3851400.,
      3858270., 3865140., 3872010., 3878880., 3885750., 3892620., 3899490.,
      3906360., 3913230., 3920100., 3949020., 3956115., 3963210., 3970305.,
      3977400., 3984495., 3991590., 3998685., 4005780., 4012875., 4019970.,
      4027065., 4034160., 4041255., 4048350., 4074120., 4081440., 4088760.,
      4096080., 4103400., 4110720., 4118040., 4125360., 4132680., 4140000.,
      4147320., 4154640., 4161960., 4169280., 4176600., 4199220., 4206765.,
      4214310., 4221855., 4229400., 4236945., 4244490., 4252035., 4259580.,
      4267125., 4274670., 4282215., 4289760., 4297305., 4304850., 4324320.,
      4332090., 4339860., 4347630., 4355400., 4363170., 4370940., 4378710.,
      4386480., 4394250., 4402020., 4409790., 4417560., 4425330., 4433100.,
      4449420., 4457415., 4465410., 4473405., 4481400., 4489395., 4497390.,
      4505385., 4513380., 4521375., 4529370., 4537365., 4545360., 4553355.,
      4561350., 4574520., 4582740., 4590960., 4599180., 4607400., 4615620.,
      4623840., 4632060., 4640280., 4648500., 4656720., 4664940., 4673160.,
      4681380., 4689600., 4699620., 4708065., 4716510., 4724955., 4733400.,
      4741845., 4750290., 4758735., 4767180., 4775625., 4784070., 4792515.,
      4800960., 4809405., 4817850., 4824720., 4833390., 4842060., 4850730.,
      4859400., 4868070., 4876740., 4885410., 4894080., 4902750., 4911420.,
      4920090., 4928760., 4937430., 4946100., 4949820., 4958715., 4967610.,
      4976505., 4985400., 4994295., 5003190., 5012085., 5020980., 5029875.,
      5038770., 5047665., 5056560., 5065455., 5074350., 5074920., 5084040.,
      5093160., 5102280., 5111400., 5120520., 5129640., 5138760., 5147880.,
      5157000., 5166120., 5175240., 5184360., 5193480., 5202600., 5200020.,
      5209365., 5218710., 5228055., 5237400., 5246745., 5256090., 5265435.,
      5274780., 5284125., 5293470., 5302815., 5312160., 5321505., 5330850.};
  const int batches = 3;
  const int m = 14;
  const int k = 15;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseFalse, M14xK15xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      18040.,   18160.,   18280.,   18400.,   18520.,   18640.,   18760.,
      18880.,   19000.,   19120.,   19240.,   19360.,   19480.,   19600.,
      19720.,   19840.,   43465.,   43810.,   44155.,   44500.,   44845.,
      45190.,   45535.,   45880.,   46225.,   46570.,   46915.,   47260.,
      47605.,   47950.,   48295.,   48640.,   68890.,   69460.,   70030.,
      70600.,   71170.,   71740.,   72310.,   72880.,   73450.,   74020.,
      74590.,   75160.,   75730.,   76300.,   76870.,   77440.,   94315.,
      95110.,   95905.,   96700.,   97495.,   98290.,   99085.,   99880.,
      100675.,  101470.,  102265.,  103060.,  103855.,  104650.,  105445.,
      106240.,  119740.,  120760.,  121780.,  122800.,  123820.,  124840.,
      125860.,  126880.,  127900.,  128920.,  129940.,  130960.,  131980.,
      133000.,  134020.,  135040.,  145165.,  146410.,  147655.,  148900.,
      150145.,  151390.,  152635.,  153880.,  155125.,  156370.,  157615.,
      158860.,  160105.,  161350.,  162595.,  163840.,  170590.,  172060.,
      173530.,  175000.,  176470.,  177940.,  179410.,  180880.,  182350.,
      183820.,  185290.,  186760.,  188230.,  189700.,  191170.,  192640.,
      196015.,  197710.,  199405.,  201100.,  202795.,  204490.,  206185.,
      207880.,  209575.,  211270.,  212965.,  214660.,  216355.,  218050.,
      219745.,  221440.,  221440.,  223360.,  225280.,  227200.,  229120.,
      231040.,  232960.,  234880.,  236800.,  238720.,  240640.,  242560.,
      244480.,  246400.,  248320.,  250240.,  246865.,  249010.,  251155.,
      253300.,  255445.,  257590.,  259735.,  261880.,  264025.,  266170.,
      268315.,  270460.,  272605.,  274750.,  276895.,  279040.,  272290.,
      274660.,  277030.,  279400.,  281770.,  284140.,  286510.,  288880.,
      291250.,  293620.,  295990.,  298360.,  300730.,  303100.,  305470.,
      307840.,  297715.,  300310.,  302905.,  305500.,  308095.,  310690.,
      313285.,  315880.,  318475.,  321070.,  323665.,  326260.,  328855.,
      331450.,  334045.,  336640.,  323140.,  325960.,  328780.,  331600.,
      334420.,  337240.,  340060.,  342880.,  345700.,  348520.,  351340.,
      354160.,  356980.,  359800.,  362620.,  365440.,  348565.,  351610.,
      354655.,  357700.,  360745.,  363790.,  366835.,  369880.,  372925.,
      375970.,  379015.,  382060.,  385105.,  388150.,  391195.,  394240.,
      1158790., 1162060., 1165330., 1168600., 1171870., 1175140., 1178410.,
      1181680., 1184950., 1188220., 1191490., 1194760., 1198030., 1201300.,
      1204570., 1207840., 1238215., 1241710., 1245205., 1248700., 1252195.,
      1255690., 1259185., 1262680., 1266175., 1269670., 1273165., 1276660.,
      1280155., 1283650., 1287145., 1290640., 1317640., 1321360., 1325080.,
      1328800., 1332520., 1336240., 1339960., 1343680., 1347400., 1351120.,
      1354840., 1358560., 1362280., 1366000., 1369720., 1373440., 1397065.,
      1401010., 1404955., 1408900., 1412845., 1416790., 1420735., 1424680.,
      1428625., 1432570., 1436515., 1440460., 1444405., 1448350., 1452295.,
      1456240., 1476490., 1480660., 1484830., 1489000., 1493170., 1497340.,
      1501510., 1505680., 1509850., 1514020., 1518190., 1522360., 1526530.,
      1530700., 1534870., 1539040., 1555915., 1560310., 1564705., 1569100.,
      1573495., 1577890., 1582285., 1586680., 1591075., 1595470., 1599865.,
      1604260., 1608655., 1613050., 1617445., 1621840., 1635340., 1639960.,
      1644580., 1649200., 1653820., 1658440., 1663060., 1667680., 1672300.,
      1676920., 1681540., 1686160., 1690780., 1695400., 1700020., 1704640.,
      1714765., 1719610., 1724455., 1729300., 1734145., 1738990., 1743835.,
      1748680., 1753525., 1758370., 1763215., 1768060., 1772905., 1777750.,
      1782595., 1787440., 1794190., 1799260., 1804330., 1809400., 1814470.,
      1819540., 1824610., 1829680., 1834750., 1839820., 1844890., 1849960.,
      1855030., 1860100., 1865170., 1870240., 1873615., 1878910., 1884205.,
      1889500., 1894795., 1900090., 1905385., 1910680., 1915975., 1921270.,
      1926565., 1931860., 1937155., 1942450., 1947745., 1953040., 1953040.,
      1958560., 1964080., 1969600., 1975120., 1980640., 1986160., 1991680.,
      1997200., 2002720., 2008240., 2013760., 2019280., 2024800., 2030320.,
      2035840., 2032465., 2038210., 2043955., 2049700., 2055445., 2061190.,
      2066935., 2072680., 2078425., 2084170., 2089915., 2095660., 2101405.,
      2107150., 2112895., 2118640., 2111890., 2117860., 2123830., 2129800.,
      2135770., 2141740., 2147710., 2153680., 2159650., 2165620., 2171590.,
      2177560., 2183530., 2189500., 2195470., 2201440., 2191315., 2197510.,
      2203705., 2209900., 2216095., 2222290., 2228485., 2234680., 2240875.,
      2247070., 2253265., 2259460., 2265655., 2271850., 2278045., 2284240.,
      3811540., 3817960., 3824380., 3830800., 3837220., 3843640., 3850060.,
      3856480., 3862900., 3869320., 3875740., 3882160., 3888580., 3895000.,
      3901420., 3907840., 3944965., 3951610., 3958255., 3964900., 3971545.,
      3978190., 3984835., 3991480., 3998125., 4004770., 4011415., 4018060.,
      4024705., 4031350., 4037995., 4044640., 4078390., 4085260., 4092130.,
      4099000., 4105870., 4112740., 4119610., 4126480., 4133350., 4140220.,
      4147090., 4153960., 4160830., 4167700., 4174570., 4181440., 4211815.,
      4218910., 4226005., 4233100., 4240195., 4247290., 4254385., 4261480.,
      4268575., 4275670., 4282765., 4289860., 4296955., 4304050., 4311145.,
      4318240., 4345240., 4352560., 4359880., 4367200., 4374520., 4381840.,
      4389160., 4396480., 4403800., 4411120., 4418440., 4425760., 4433080.,
      4440400., 4447720., 4455040., 4478665., 4486210., 4493755., 4501300.,
      4508845., 4516390., 4523935., 4531480., 4539025., 4546570., 4554115.,
      4561660., 4569205., 4576750., 4584295., 4591840., 4612090., 4619860.,
      4627630., 4635400., 4643170., 4650940., 4658710., 4666480., 4674250.,
      4682020., 4689790., 4697560., 4705330., 4713100., 4720870., 4728640.,
      4745515., 4753510., 4761505., 4769500., 4777495., 4785490., 4793485.,
      4801480., 4809475., 4817470., 4825465., 4833460., 4841455., 4849450.,
      4857445., 4865440., 4878940., 4887160., 4895380., 4903600., 4911820.,
      4920040., 4928260., 4936480., 4944700., 4952920., 4961140., 4969360.,
      4977580., 4985800., 4994020., 5002240., 5012365., 5020810., 5029255.,
      5037700., 5046145., 5054590., 5063035., 5071480., 5079925., 5088370.,
      5096815., 5105260., 5113705., 5122150., 5130595., 5139040., 5145790.,
      5154460., 5163130., 5171800., 5180470., 5189140., 5197810., 5206480.,
      5215150., 5223820., 5232490., 5241160., 5249830., 5258500., 5267170.,
      5275840., 5279215., 5288110., 5297005., 5305900., 5314795., 5323690.,
      5332585., 5341480., 5350375., 5359270., 5368165., 5377060., 5385955.,
      5394850., 5403745., 5412640., 5412640., 5421760., 5430880., 5440000.,
      5449120., 5458240., 5467360., 5476480., 5485600., 5494720., 5503840.,
      5512960., 5522080., 5531200., 5540320., 5549440., 5546065., 5555410.,
      5564755., 5574100., 5583445., 5592790., 5602135., 5611480., 5620825.,
      5630170., 5639515., 5648860., 5658205., 5667550., 5676895., 5686240.};
  const int batches = 3;
  const int m = 14;
  const int k = 15;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseFalse, M14xK16xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      19176.,   19312.,   19448.,   19584.,   19720.,   19856.,   19992.,
      20128.,   20264.,   20400.,   20536.,   20672.,   20808.,   20944.,
      46312.,   46704.,   47096.,   47488.,   47880.,   48272.,   48664.,
      49056.,   49448.,   49840.,   50232.,   50624.,   51016.,   51408.,
      73448.,   74096.,   74744.,   75392.,   76040.,   76688.,   77336.,
      77984.,   78632.,   79280.,   79928.,   80576.,   81224.,   81872.,
      100584.,  101488.,  102392.,  103296.,  104200.,  105104.,  106008.,
      106912.,  107816.,  108720.,  109624.,  110528.,  111432.,  112336.,
      127720.,  128880.,  130040.,  131200.,  132360.,  133520.,  134680.,
      135840.,  137000.,  138160.,  139320.,  140480.,  141640.,  142800.,
      154856.,  156272.,  157688.,  159104.,  160520.,  161936.,  163352.,
      164768.,  166184.,  167600.,  169016.,  170432.,  171848.,  173264.,
      181992.,  183664.,  185336.,  187008.,  188680.,  190352.,  192024.,
      193696.,  195368.,  197040.,  198712.,  200384.,  202056.,  203728.,
      209128.,  211056.,  212984.,  214912.,  216840.,  218768.,  220696.,
      222624.,  224552.,  226480.,  228408.,  230336.,  232264.,  234192.,
      236264.,  238448.,  240632.,  242816.,  245000.,  247184.,  249368.,
      251552.,  253736.,  255920.,  258104.,  260288.,  262472.,  264656.,
      263400.,  265840.,  268280.,  270720.,  273160.,  275600.,  278040.,
      280480.,  282920.,  285360.,  287800.,  290240.,  292680.,  295120.,
      290536.,  293232.,  295928.,  298624.,  301320.,  304016.,  306712.,
      309408.,  312104.,  314800.,  317496.,  320192.,  322888.,  325584.,
      317672.,  320624.,  323576.,  326528.,  329480.,  332432.,  335384.,
      338336.,  341288.,  344240.,  347192.,  350144.,  353096.,  356048.,
      344808.,  348016.,  351224.,  354432.,  357640.,  360848.,  364056.,
      367264.,  370472.,  373680.,  376888.,  380096.,  383304.,  386512.,
      371944.,  375408.,  378872.,  382336.,  385800.,  389264.,  392728.,
      396192.,  399656.,  403120.,  406584.,  410048.,  413512.,  416976.,
      1232360., 1236080., 1239800., 1243520., 1247240., 1250960., 1254680.,
      1258400., 1262120., 1265840., 1269560., 1273280., 1277000., 1280720.,
      1316840., 1320816., 1324792., 1328768., 1332744., 1336720., 1340696.,
      1344672., 1348648., 1352624., 1356600., 1360576., 1364552., 1368528.,
      1401320., 1405552., 1409784., 1414016., 1418248., 1422480., 1426712.,
      1430944., 1435176., 1439408., 1443640., 1447872., 1452104., 1456336.,
      1485800., 1490288., 1494776., 1499264., 1503752., 1508240., 1512728.,
      1517216., 1521704., 1526192., 1530680., 1535168., 1539656., 1544144.,
      1570280., 1575024., 1579768., 1584512., 1589256., 1594000., 1598744.,
      1603488., 1608232., 1612976., 1617720., 1622464., 1627208., 1631952.,
      1654760., 1659760., 1664760., 1669760., 1674760., 1679760., 1684760.,
      1689760., 1694760., 1699760., 1704760., 1709760., 1714760., 1719760.,
      1739240., 1744496., 1749752., 1755008., 1760264., 1765520., 1770776.,
      1776032., 1781288., 1786544., 1791800., 1797056., 1802312., 1807568.,
      1823720., 1829232., 1834744., 1840256., 1845768., 1851280., 1856792.,
      1862304., 1867816., 1873328., 1878840., 1884352., 1889864., 1895376.,
      1908200., 1913968., 1919736., 1925504., 1931272., 1937040., 1942808.,
      1948576., 1954344., 1960112., 1965880., 1971648., 1977416., 1983184.,
      1992680., 1998704., 2004728., 2010752., 2016776., 2022800., 2028824.,
      2034848., 2040872., 2046896., 2052920., 2058944., 2064968., 2070992.,
      2077160., 2083440., 2089720., 2096000., 2102280., 2108560., 2114840.,
      2121120., 2127400., 2133680., 2139960., 2146240., 2152520., 2158800.,
      2161640., 2168176., 2174712., 2181248., 2187784., 2194320., 2200856.,
      2207392., 2213928., 2220464., 2227000., 2233536., 2240072., 2246608.,
      2246120., 2252912., 2259704., 2266496., 2273288., 2280080., 2286872.,
      2293664., 2300456., 2307248., 2314040., 2320832., 2327624., 2334416.,
      2330600., 2337648., 2344696., 2351744., 2358792., 2365840., 2372888.,
      2379936., 2386984., 2394032., 2401080., 2408128., 2415176., 2422224.,
      4051176., 4058480., 4065784., 4073088., 4080392., 4087696., 4095000.,
      4102304., 4109608., 4116912., 4124216., 4131520., 4138824., 4146128.,
      4193000., 4200560., 4208120., 4215680., 4223240., 4230800., 4238360.,
      4245920., 4253480., 4261040., 4268600., 4276160., 4283720., 4291280.,
      4334824., 4342640., 4350456., 4358272., 4366088., 4373904., 4381720.,
      4389536., 4397352., 4405168., 4412984., 4420800., 4428616., 4436432.,
      4476648., 4484720., 4492792., 4500864., 4508936., 4517008., 4525080.,
      4533152., 4541224., 4549296., 4557368., 4565440., 4573512., 4581584.,
      4618472., 4626800., 4635128., 4643456., 4651784., 4660112., 4668440.,
      4676768., 4685096., 4693424., 4701752., 4710080., 4718408., 4726736.,
      4760296., 4768880., 4777464., 4786048., 4794632., 4803216., 4811800.,
      4820384., 4828968., 4837552., 4846136., 4854720., 4863304., 4871888.,
      4902120., 4910960., 4919800., 4928640., 4937480., 4946320., 4955160.,
      4964000., 4972840., 4981680., 4990520., 4999360., 5008200., 5017040.,
      5043944., 5053040., 5062136., 5071232., 5080328., 5089424., 5098520.,
      5107616., 5116712., 5125808., 5134904., 5144000., 5153096., 5162192.,
      5185768., 5195120., 5204472., 5213824., 5223176., 5232528., 5241880.,
      5251232., 5260584., 5269936., 5279288., 5288640., 5297992., 5307344.,
      5327592., 5337200., 5346808., 5356416., 5366024., 5375632., 5385240.,
      5394848., 5404456., 5414064., 5423672., 5433280., 5442888., 5452496.,
      5469416., 5479280., 5489144., 5499008., 5508872., 5518736., 5528600.,
      5538464., 5548328., 5558192., 5568056., 5577920., 5587784., 5597648.,
      5611240., 5621360., 5631480., 5641600., 5651720., 5661840., 5671960.,
      5682080., 5692200., 5702320., 5712440., 5722560., 5732680., 5742800.,
      5753064., 5763440., 5773816., 5784192., 5794568., 5804944., 5815320.,
      5825696., 5836072., 5846448., 5856824., 5867200., 5877576., 5887952.,
      5894888., 5905520., 5916152., 5926784., 5937416., 5948048., 5958680.,
      5969312., 5979944., 5990576., 6001208., 6011840., 6022472., 6033104.};
  const int batches = 3;
  const int m = 14;
  const int k = 16;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseFalse, M14xK16xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      20536.,   20672.,   20808.,   20944.,   21080.,   21216.,   21352.,
      21488.,   21624.,   21760.,   21896.,   22032.,   22168.,   22304.,
      22440.,   49592.,   49984.,   50376.,   50768.,   51160.,   51552.,
      51944.,   52336.,   52728.,   53120.,   53512.,   53904.,   54296.,
      54688.,   55080.,   78648.,   79296.,   79944.,   80592.,   81240.,
      81888.,   82536.,   83184.,   83832.,   84480.,   85128.,   85776.,
      86424.,   87072.,   87720.,   107704.,  108608.,  109512.,  110416.,
      111320.,  112224.,  113128.,  114032.,  114936.,  115840.,  116744.,
      117648.,  118552.,  119456.,  120360.,  136760.,  137920.,  139080.,
      140240.,  141400.,  142560.,  143720.,  144880.,  146040.,  147200.,
      148360.,  149520.,  150680.,  151840.,  153000.,  165816.,  167232.,
      168648.,  170064.,  171480.,  172896.,  174312.,  175728.,  177144.,
      178560.,  179976.,  181392.,  182808.,  184224.,  185640.,  194872.,
      196544.,  198216.,  199888.,  201560.,  203232.,  204904.,  206576.,
      208248.,  209920.,  211592.,  213264.,  214936.,  216608.,  218280.,
      223928.,  225856.,  227784.,  229712.,  231640.,  233568.,  235496.,
      237424.,  239352.,  241280.,  243208.,  245136.,  247064.,  248992.,
      250920.,  252984.,  255168.,  257352.,  259536.,  261720.,  263904.,
      266088.,  268272.,  270456.,  272640.,  274824.,  277008.,  279192.,
      281376.,  283560.,  282040.,  284480.,  286920.,  289360.,  291800.,
      294240.,  296680.,  299120.,  301560.,  304000.,  306440.,  308880.,
      311320.,  313760.,  316200.,  311096.,  313792.,  316488.,  319184.,
      321880.,  324576.,  327272.,  329968.,  332664.,  335360.,  338056.,
      340752.,  343448.,  346144.,  348840.,  340152.,  343104.,  346056.,
      349008.,  351960.,  354912.,  357864.,  360816.,  363768.,  366720.,
      369672.,  372624.,  375576.,  378528.,  381480.,  369208.,  372416.,
      375624.,  378832.,  382040.,  385248.,  388456.,  391664.,  394872.,
      398080.,  401288.,  404496.,  407704.,  410912.,  414120.,  398264.,
      401728.,  405192.,  408656.,  412120.,  415584.,  419048.,  422512.,
      425976.,  429440.,  432904.,  436368.,  439832.,  443296.,  446760.,
      1320120., 1323840., 1327560., 1331280., 1335000., 1338720., 1342440.,
      1346160., 1349880., 1353600., 1357320., 1361040., 1364760., 1368480.,
      1372200., 1410616., 1414592., 1418568., 1422544., 1426520., 1430496.,
      1434472., 1438448., 1442424., 1446400., 1450376., 1454352., 1458328.,
      1462304., 1466280., 1501112., 1505344., 1509576., 1513808., 1518040.,
      1522272., 1526504., 1530736., 1534968., 1539200., 1543432., 1547664.,
      1551896., 1556128., 1560360., 1591608., 1596096., 1600584., 1605072.,
      1609560., 1614048., 1618536., 1623024., 1627512., 1632000., 1636488.,
      1640976., 1645464., 1649952., 1654440., 1682104., 1686848., 1691592.,
      1696336., 1701080., 1705824., 1710568., 1715312., 1720056., 1724800.,
      1729544., 1734288., 1739032., 1743776., 1748520., 1772600., 1777600.,
      1782600., 1787600., 1792600., 1797600., 1802600., 1807600., 1812600.,
      1817600., 1822600., 1827600., 1832600., 1837600., 1842600., 1863096.,
      1868352., 1873608., 1878864., 1884120., 1889376., 1894632., 1899888.,
      1905144., 1910400., 1915656., 1920912., 1926168., 1931424., 1936680.,
      1953592., 1959104., 1964616., 1970128., 1975640., 1981152., 1986664.,
      1992176., 1997688., 2003200., 2008712., 2014224., 2019736., 2025248.,
      2030760., 2044088., 2049856., 2055624., 2061392., 2067160., 2072928.,
      2078696., 2084464., 2090232., 2096000., 2101768., 2107536., 2113304.,
      2119072., 2124840., 2134584., 2140608., 2146632., 2152656., 2158680.,
      2164704., 2170728., 2176752., 2182776., 2188800., 2194824., 2200848.,
      2206872., 2212896., 2218920., 2225080., 2231360., 2237640., 2243920.,
      2250200., 2256480., 2262760., 2269040., 2275320., 2281600., 2287880.,
      2294160., 2300440., 2306720., 2313000., 2315576., 2322112., 2328648.,
      2335184., 2341720., 2348256., 2354792., 2361328., 2367864., 2374400.,
      2380936., 2387472., 2394008., 2400544., 2407080., 2406072., 2412864.,
      2419656., 2426448., 2433240., 2440032., 2446824., 2453616., 2460408.,
      2467200., 2473992., 2480784., 2487576., 2494368., 2501160., 2496568.,
      2503616., 2510664., 2517712., 2524760., 2531808., 2538856., 2545904.,
      2552952., 2560000., 2567048., 2574096., 2581144., 2588192., 2595240.,
      4340024., 4347328., 4354632., 4361936., 4369240., 4376544., 4383848.,
      4391152., 4398456., 4405760., 4413064., 4420368., 4427672., 4434976.,
      4442280., 4491960., 4499520., 4507080., 4514640., 4522200., 4529760.,
      4537320., 4544880., 4552440., 4560000., 4567560., 4575120., 4582680.,
      4590240., 4597800., 4643896., 4651712., 4659528., 4667344., 4675160.,
      4682976., 4690792., 4698608., 4706424., 4714240., 4722056., 4729872.,
      4737688., 4745504., 4753320., 4795832., 4803904., 4811976., 4820048.,
      4828120., 4836192., 4844264., 4852336., 4860408., 4868480., 4876552.,
      4884624., 4892696., 4900768., 4908840., 4947768., 4956096., 4964424.,
      4972752., 4981080., 4989408., 4997736., 5006064., 5014392., 5022720.,
      5031048., 5039376., 5047704., 5056032., 5064360., 5099704., 5108288.,
      5116872., 5125456., 5134040., 5142624., 5151208., 5159792., 5168376.,
      5176960., 5185544., 5194128., 5202712., 5211296., 5219880., 5251640.,
      5260480., 5269320., 5278160., 5287000., 5295840., 5304680., 5313520.,
      5322360., 5331200., 5340040., 5348880., 5357720., 5366560., 5375400.,
      5403576., 5412672., 5421768., 5430864., 5439960., 5449056., 5458152.,
      5467248., 5476344., 5485440., 5494536., 5503632., 5512728., 5521824.,
      5530920., 5555512., 5564864., 5574216., 5583568., 5592920., 5602272.,
      5611624., 5620976., 5630328., 5639680., 5649032., 5658384., 5667736.,
      5677088., 5686440., 5707448., 5717056., 5726664., 5736272., 5745880.,
      5755488., 5765096., 5774704., 5784312., 5793920., 5803528., 5813136.,
      5822744., 5832352., 5841960., 5859384., 5869248., 5879112., 5888976.,
      5898840., 5908704., 5918568., 5928432., 5938296., 5948160., 5958024.,
      5967888., 5977752., 5987616., 5997480., 6011320., 6021440., 6031560.,
      6041680., 6051800., 6061920., 6072040., 6082160., 6092280., 6102400.,
      6112520., 6122640., 6132760., 6142880., 6153000., 6163256., 6173632.,
      6184008., 6194384., 6204760., 6215136., 6225512., 6235888., 6246264.,
      6256640., 6267016., 6277392., 6287768., 6298144., 6308520., 6315192.,
      6325824., 6336456., 6347088., 6357720., 6368352., 6378984., 6389616.,
      6400248., 6410880., 6421512., 6432144., 6442776., 6453408., 6464040.};
  const int batches = 3;
  const int m = 14;
  const int k = 16;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseFalse, M14xK16xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      21896.,   22032.,   22168.,   22304.,   22440.,   22576.,   22712.,
      22848.,   22984.,   23120.,   23256.,   23392.,   23528.,   23664.,
      23800.,   23936.,   52872.,   53264.,   53656.,   54048.,   54440.,
      54832.,   55224.,   55616.,   56008.,   56400.,   56792.,   57184.,
      57576.,   57968.,   58360.,   58752.,   83848.,   84496.,   85144.,
      85792.,   86440.,   87088.,   87736.,   88384.,   89032.,   89680.,
      90328.,   90976.,   91624.,   92272.,   92920.,   93568.,   114824.,
      115728.,  116632.,  117536.,  118440.,  119344.,  120248.,  121152.,
      122056.,  122960.,  123864.,  124768.,  125672.,  126576.,  127480.,
      128384.,  145800.,  146960.,  148120.,  149280.,  150440.,  151600.,
      152760.,  153920.,  155080.,  156240.,  157400.,  158560.,  159720.,
      160880.,  162040.,  163200.,  176776.,  178192.,  179608.,  181024.,
      182440.,  183856.,  185272.,  186688.,  188104.,  189520.,  190936.,
      192352.,  193768.,  195184.,  196600.,  198016.,  207752.,  209424.,
      211096.,  212768.,  214440.,  216112.,  217784.,  219456.,  221128.,
      222800.,  224472.,  226144.,  227816.,  229488.,  231160.,  232832.,
      238728.,  240656.,  242584.,  244512.,  246440.,  248368.,  250296.,
      252224.,  254152.,  256080.,  258008.,  259936.,  261864.,  263792.,
      265720.,  267648.,  269704.,  271888.,  274072.,  276256.,  278440.,
      280624.,  282808.,  284992.,  287176.,  289360.,  291544.,  293728.,
      295912.,  298096.,  300280.,  302464.,  300680.,  303120.,  305560.,
      308000.,  310440.,  312880.,  315320.,  317760.,  320200.,  322640.,
      325080.,  327520.,  329960.,  332400.,  334840.,  337280.,  331656.,
      334352.,  337048.,  339744.,  342440.,  345136.,  347832.,  350528.,
      353224.,  355920.,  358616.,  361312.,  364008.,  366704.,  369400.,
      372096.,  362632.,  365584.,  368536.,  371488.,  374440.,  377392.,
      380344.,  383296.,  386248.,  389200.,  392152.,  395104.,  398056.,
      401008.,  403960.,  406912.,  393608.,  396816.,  400024.,  403232.,
      406440.,  409648.,  412856.,  416064.,  419272.,  422480.,  425688.,
      428896.,  432104.,  435312.,  438520.,  441728.,  424584.,  428048.,
      431512.,  434976.,  438440.,  441904.,  445368.,  448832.,  452296.,
      455760.,  459224.,  462688.,  466152.,  469616.,  473080.,  476544.,
      1407880., 1411600., 1415320., 1419040., 1422760., 1426480., 1430200.,
      1433920., 1437640., 1441360., 1445080., 1448800., 1452520., 1456240.,
      1459960., 1463680., 1504392., 1508368., 1512344., 1516320., 1520296.,
      1524272., 1528248., 1532224., 1536200., 1540176., 1544152., 1548128.,
      1552104., 1556080., 1560056., 1564032., 1600904., 1605136., 1609368.,
      1613600., 1617832., 1622064., 1626296., 1630528., 1634760., 1638992.,
      1643224., 1647456., 1651688., 1655920., 1660152., 1664384., 1697416.,
      1701904., 1706392., 1710880., 1715368., 1719856., 1724344., 1728832.,
      1733320., 1737808., 1742296., 1746784., 1751272., 1755760., 1760248.,
      1764736., 1793928., 1798672., 1803416., 1808160., 1812904., 1817648.,
      1822392., 1827136., 1831880., 1836624., 1841368., 1846112., 1850856.,
      1855600., 1860344., 1865088., 1890440., 1895440., 1900440., 1905440.,
      1910440., 1915440., 1920440., 1925440., 1930440., 1935440., 1940440.,
      1945440., 1950440., 1955440., 1960440., 1965440., 1986952., 1992208.,
      1997464., 2002720., 2007976., 2013232., 2018488., 2023744., 2029000.,
      2034256., 2039512., 2044768., 2050024., 2055280., 2060536., 2065792.,
      2083464., 2088976., 2094488., 2100000., 2105512., 2111024., 2116536.,
      2122048., 2127560., 2133072., 2138584., 2144096., 2149608., 2155120.,
      2160632., 2166144., 2179976., 2185744., 2191512., 2197280., 2203048.,
      2208816., 2214584., 2220352., 2226120., 2231888., 2237656., 2243424.,
      2249192., 2254960., 2260728., 2266496., 2276488., 2282512., 2288536.,
      2294560., 2300584., 2306608., 2312632., 2318656., 2324680., 2330704.,
      2336728., 2342752., 2348776., 2354800., 2360824., 2366848., 2373000.,
      2379280., 2385560., 2391840., 2398120., 2404400., 2410680., 2416960.,
      2423240., 2429520., 2435800., 2442080., 2448360., 2454640., 2460920.,
      2467200., 2469512., 2476048., 2482584., 2489120., 2495656., 2502192.,
      2508728., 2515264., 2521800., 2528336., 2534872., 2541408., 2547944.,
      2554480., 2561016., 2567552., 2566024., 2572816., 2579608., 2586400.,
      2593192., 2599984., 2606776., 2613568., 2620360., 2627152., 2633944.,
      2640736., 2647528., 2654320., 2661112., 2667904., 2662536., 2669584.,
      2676632., 2683680., 2690728., 2697776., 2704824., 2711872., 2718920.,
      2725968., 2733016., 2740064., 2747112., 2754160., 2761208., 2768256.,
      4628872., 4636176., 4643480., 4650784., 4658088., 4665392., 4672696.,
      4680000., 4687304., 4694608., 4701912., 4709216., 4716520., 4723824.,
      4731128., 4738432., 4790920., 4798480., 4806040., 4813600., 4821160.,
      4828720., 4836280., 4843840., 4851400., 4858960., 4866520., 4874080.,
      4881640., 4889200., 4896760., 4904320., 4952968., 4960784., 4968600.,
      4976416., 4984232., 4992048., 4999864., 5007680., 5015496., 5023312.,
      5031128., 5038944., 5046760., 5054576., 5062392., 5070208., 5115016.,
      5123088., 5131160., 5139232., 5147304., 5155376., 5163448., 5171520.,
      5179592., 5187664., 5195736., 5203808., 5211880., 5219952., 5228024.,
      5236096., 5277064., 5285392., 5293720., 5302048., 5310376., 5318704.,
      5327032., 5335360., 5343688., 5352016., 5360344., 5368672., 5377000.,
      5385328., 5393656., 5401984., 5439112., 5447696., 5456280., 5464864.,
      5473448., 5482032., 5490616., 5499200., 5507784., 5516368., 5524952.,
      5533536., 5542120., 5550704., 5559288., 5567872., 5601160., 5610000.,
      5618840., 5627680., 5636520., 5645360., 5654200., 5663040., 5671880.,
      5680720., 5689560., 5698400., 5707240., 5716080., 5724920., 5733760.,
      5763208., 5772304., 5781400., 5790496., 5799592., 5808688., 5817784.,
      5826880., 5835976., 5845072., 5854168., 5863264., 5872360., 5881456.,
      5890552., 5899648., 5925256., 5934608., 5943960., 5953312., 5962664.,
      5972016., 5981368., 5990720., 6000072., 6009424., 6018776., 6028128.,
      6037480., 6046832., 6056184., 6065536., 6087304., 6096912., 6106520.,
      6116128., 6125736., 6135344., 6144952., 6154560., 6164168., 6173776.,
      6183384., 6192992., 6202600., 6212208., 6221816., 6231424., 6249352.,
      6259216., 6269080., 6278944., 6288808., 6298672., 6308536., 6318400.,
      6328264., 6338128., 6347992., 6357856., 6367720., 6377584., 6387448.,
      6397312., 6411400., 6421520., 6431640., 6441760., 6451880., 6462000.,
      6472120., 6482240., 6492360., 6502480., 6512600., 6522720., 6532840.,
      6542960., 6553080., 6563200., 6573448., 6583824., 6594200., 6604576.,
      6614952., 6625328., 6635704., 6646080., 6656456., 6666832., 6677208.,
      6687584., 6697960., 6708336., 6718712., 6729088., 6735496., 6746128.,
      6756760., 6767392., 6778024., 6788656., 6799288., 6809920., 6820552.,
      6831184., 6841816., 6852448., 6863080., 6873712., 6884344., 6894976.};
  const int batches = 3;
  const int m = 14;
  const int k = 16;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseFalse, M15xK14xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      12845.,   12950.,   13055.,   13160.,   13265.,   13370.,   13475.,
      13580.,   13685.,   13790.,   13895.,   14000.,   14105.,   14210.,
      30877.,   31178.,   31479.,   31780.,   32081.,   32382.,   32683.,
      32984.,   33285.,   33586.,   33887.,   34188.,   34489.,   34790.,
      48909.,   49406.,   49903.,   50400.,   50897.,   51394.,   51891.,
      52388.,   52885.,   53382.,   53879.,   54376.,   54873.,   55370.,
      66941.,   67634.,   68327.,   69020.,   69713.,   70406.,   71099.,
      71792.,   72485.,   73178.,   73871.,   74564.,   75257.,   75950.,
      84973.,   85862.,   86751.,   87640.,   88529.,   89418.,   90307.,
      91196.,   92085.,   92974.,   93863.,   94752.,   95641.,   96530.,
      103005.,  104090.,  105175.,  106260.,  107345.,  108430.,  109515.,
      110600.,  111685.,  112770.,  113855.,  114940.,  116025.,  117110.,
      121037.,  122318.,  123599.,  124880.,  126161.,  127442.,  128723.,
      130004.,  131285.,  132566.,  133847.,  135128.,  136409.,  137690.,
      139069.,  140546.,  142023.,  143500.,  144977.,  146454.,  147931.,
      149408.,  150885.,  152362.,  153839.,  155316.,  156793.,  158270.,
      157101.,  158774.,  160447.,  162120.,  163793.,  165466.,  167139.,
      168812.,  170485.,  172158.,  173831.,  175504.,  177177.,  178850.,
      175133.,  177002.,  178871.,  180740.,  182609.,  184478.,  186347.,
      188216.,  190085.,  191954.,  193823.,  195692.,  197561.,  199430.,
      193165.,  195230.,  197295.,  199360.,  201425.,  203490.,  205555.,
      207620.,  209685.,  211750.,  213815.,  215880.,  217945.,  220010.,
      211197.,  213458.,  215719.,  217980.,  220241.,  222502.,  224763.,
      227024.,  229285.,  231546.,  233807.,  236068.,  238329.,  240590.,
      229229.,  231686.,  234143.,  236600.,  239057.,  241514.,  243971.,
      246428.,  248885.,  251342.,  253799.,  256256.,  258713.,  261170.,
      247261.,  249914.,  252567.,  255220.,  257873.,  260526.,  263179.,
      265832.,  268485.,  271138.,  273791.,  276444.,  279097.,  281750.,
      265293.,  268142.,  270991.,  273840.,  276689.,  279538.,  282387.,
      285236.,  288085.,  290934.,  293783.,  296632.,  299481.,  302330.,
      880145.,  883190.,  886235.,  889280.,  892325.,  895370.,  898415.,
      901460.,  904505.,  907550.,  910595.,  913640.,  916685.,  919730.,
      936593.,  939834.,  943075.,  946316.,  949557.,  952798.,  956039.,
      959280.,  962521.,  965762.,  969003.,  972244.,  975485.,  978726.,
      993041.,  996478.,  999915.,  1003352., 1006789., 1010226., 1013663.,
      1017100., 1020537., 1023974., 1027411., 1030848., 1034285., 1037722.,
      1049489., 1053122., 1056755., 1060388., 1064021., 1067654., 1071287.,
      1074920., 1078553., 1082186., 1085819., 1089452., 1093085., 1096718.,
      1105937., 1109766., 1113595., 1117424., 1121253., 1125082., 1128911.,
      1132740., 1136569., 1140398., 1144227., 1148056., 1151885., 1155714.,
      1162385., 1166410., 1170435., 1174460., 1178485., 1182510., 1186535.,
      1190560., 1194585., 1198610., 1202635., 1206660., 1210685., 1214710.,
      1218833., 1223054., 1227275., 1231496., 1235717., 1239938., 1244159.,
      1248380., 1252601., 1256822., 1261043., 1265264., 1269485., 1273706.,
      1275281., 1279698., 1284115., 1288532., 1292949., 1297366., 1301783.,
      1306200., 1310617., 1315034., 1319451., 1323868., 1328285., 1332702.,
      1331729., 1336342., 1340955., 1345568., 1350181., 1354794., 1359407.,
      1364020., 1368633., 1373246., 1377859., 1382472., 1387085., 1391698.,
      1388177., 1392986., 1397795., 1402604., 1407413., 1412222., 1417031.,
      1421840., 1426649., 1431458., 1436267., 1441076., 1445885., 1450694.,
      1444625., 1449630., 1454635., 1459640., 1464645., 1469650., 1474655.,
      1479660., 1484665., 1489670., 1494675., 1499680., 1504685., 1509690.,
      1501073., 1506274., 1511475., 1516676., 1521877., 1527078., 1532279.,
      1537480., 1542681., 1547882., 1553083., 1558284., 1563485., 1568686.,
      1557521., 1562918., 1568315., 1573712., 1579109., 1584506., 1589903.,
      1595300., 1600697., 1606094., 1611491., 1616888., 1622285., 1627682.,
      1613969., 1619562., 1625155., 1630748., 1636341., 1641934., 1647527.,
      1653120., 1658713., 1664306., 1669899., 1675492., 1681085., 1686678.,
      1670417., 1676206., 1681995., 1687784., 1693573., 1699362., 1705151.,
      1710940., 1716729., 1722518., 1728307., 1734096., 1739885., 1745674.,
      2899925., 2905910., 2911895., 2917880., 2923865., 2929850., 2935835.,
      2941820., 2947805., 2953790., 2959775., 2965760., 2971745., 2977730.,
      2994789., 3000970., 3007151., 3013332., 3019513., 3025694., 3031875.,
      3038056., 3044237., 3050418., 3056599., 3062780., 3068961., 3075142.,
      3089653., 3096030., 3102407., 3108784., 3115161., 3121538., 3127915.,
      3134292., 3140669., 3147046., 3153423., 3159800., 3166177., 3172554.,
      3184517., 3191090., 3197663., 3204236., 3210809., 3217382., 3223955.,
      3230528., 3237101., 3243674., 3250247., 3256820., 3263393., 3269966.,
      3279381., 3286150., 3292919., 3299688., 3306457., 3313226., 3319995.,
      3326764., 3333533., 3340302., 3347071., 3353840., 3360609., 3367378.,
      3374245., 3381210., 3388175., 3395140., 3402105., 3409070., 3416035.,
      3423000., 3429965., 3436930., 3443895., 3450860., 3457825., 3464790.,
      3469109., 3476270., 3483431., 3490592., 3497753., 3504914., 3512075.,
      3519236., 3526397., 3533558., 3540719., 3547880., 3555041., 3562202.,
      3563973., 3571330., 3578687., 3586044., 3593401., 3600758., 3608115.,
      3615472., 3622829., 3630186., 3637543., 3644900., 3652257., 3659614.,
      3658837., 3666390., 3673943., 3681496., 3689049., 3696602., 3704155.,
      3711708., 3719261., 3726814., 3734367., 3741920., 3749473., 3757026.,
      3753701., 3761450., 3769199., 3776948., 3784697., 3792446., 3800195.,
      3807944., 3815693., 3823442., 3831191., 3838940., 3846689., 3854438.,
      3848565., 3856510., 3864455., 3872400., 3880345., 3888290., 3896235.,
      3904180., 3912125., 3920070., 3928015., 3935960., 3943905., 3951850.,
      3943429., 3951570., 3959711., 3967852., 3975993., 3984134., 3992275.,
      4000416., 4008557., 4016698., 4024839., 4032980., 4041121., 4049262.,
      4038293., 4046630., 4054967., 4063304., 4071641., 4079978., 4088315.,
      4096652., 4104989., 4113326., 4121663., 4130000., 4138337., 4146674.,
      4133157., 4141690., 4150223., 4158756., 4167289., 4175822., 4184355.,
      4192888., 4201421., 4209954., 4218487., 4227020., 4235553., 4244086.,
      4228021., 4236750., 4245479., 4254208., 4262937., 4271666., 4280395.,
      4289124., 4297853., 4306582., 4315311., 4324040., 4332769., 4341498.};
  const int batches = 3;
  const int m = 15;
  const int k = 14;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseFalse, M15xK14xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      13755.,   13860.,   13965.,   14070.,   14175.,   14280.,   14385.,
      14490.,   14595.,   14700.,   14805.,   14910.,   15015.,   15120.,
      15225.,   33061.,   33362.,   33663.,   33964.,   34265.,   34566.,
      34867.,   35168.,   35469.,   35770.,   36071.,   36372.,   36673.,
      36974.,   37275.,   52367.,   52864.,   53361.,   53858.,   54355.,
      54852.,   55349.,   55846.,   56343.,   56840.,   57337.,   57834.,
      58331.,   58828.,   59325.,   71673.,   72366.,   73059.,   73752.,
      74445.,   75138.,   75831.,   76524.,   77217.,   77910.,   78603.,
      79296.,   79989.,   80682.,   81375.,   90979.,   91868.,   92757.,
      93646.,   94535.,   95424.,   96313.,   97202.,   98091.,   98980.,
      99869.,   100758.,  101647.,  102536.,  103425.,  110285.,  111370.,
      112455.,  113540.,  114625.,  115710.,  116795.,  117880.,  118965.,
      120050.,  121135.,  122220.,  123305.,  124390.,  125475.,  129591.,
      130872.,  132153.,  133434.,  134715.,  135996.,  137277.,  138558.,
      139839.,  141120.,  142401.,  143682.,  144963.,  146244.,  147525.,
      148897.,  150374.,  151851.,  153328.,  154805.,  156282.,  157759.,
      159236.,  160713.,  162190.,  163667.,  165144.,  166621.,  168098.,
      169575.,  168203.,  169876.,  171549.,  173222.,  174895.,  176568.,
      178241.,  179914.,  181587.,  183260.,  184933.,  186606.,  188279.,
      189952.,  191625.,  187509.,  189378.,  191247.,  193116.,  194985.,
      196854.,  198723.,  200592.,  202461.,  204330.,  206199.,  208068.,
      209937.,  211806.,  213675.,  206815.,  208880.,  210945.,  213010.,
      215075.,  217140.,  219205.,  221270.,  223335.,  225400.,  227465.,
      229530.,  231595.,  233660.,  235725.,  226121.,  228382.,  230643.,
      232904.,  235165.,  237426.,  239687.,  241948.,  244209.,  246470.,
      248731.,  250992.,  253253.,  255514.,  257775.,  245427.,  247884.,
      250341.,  252798.,  255255.,  257712.,  260169.,  262626.,  265083.,
      267540.,  269997.,  272454.,  274911.,  277368.,  279825.,  264733.,
      267386.,  270039.,  272692.,  275345.,  277998.,  280651.,  283304.,
      285957.,  288610.,  291263.,  293916.,  296569.,  299222.,  301875.,
      284039.,  286888.,  289737.,  292586.,  295435.,  298284.,  301133.,
      303982.,  306831.,  309680.,  312529.,  315378.,  318227.,  321076.,
      323925.,  942795.,  945840.,  948885.,  951930.,  954975.,  958020.,
      961065.,  964110.,  967155.,  970200.,  973245.,  976290.,  979335.,
      982380.,  985425.,  1003261., 1006502., 1009743., 1012984., 1016225.,
      1019466., 1022707., 1025948., 1029189., 1032430., 1035671., 1038912.,
      1042153., 1045394., 1048635., 1063727., 1067164., 1070601., 1074038.,
      1077475., 1080912., 1084349., 1087786., 1091223., 1094660., 1098097.,
      1101534., 1104971., 1108408., 1111845., 1124193., 1127826., 1131459.,
      1135092., 1138725., 1142358., 1145991., 1149624., 1153257., 1156890.,
      1160523., 1164156., 1167789., 1171422., 1175055., 1184659., 1188488.,
      1192317., 1196146., 1199975., 1203804., 1207633., 1211462., 1215291.,
      1219120., 1222949., 1226778., 1230607., 1234436., 1238265., 1245125.,
      1249150., 1253175., 1257200., 1261225., 1265250., 1269275., 1273300.,
      1277325., 1281350., 1285375., 1289400., 1293425., 1297450., 1301475.,
      1305591., 1309812., 1314033., 1318254., 1322475., 1326696., 1330917.,
      1335138., 1339359., 1343580., 1347801., 1352022., 1356243., 1360464.,
      1364685., 1366057., 1370474., 1374891., 1379308., 1383725., 1388142.,
      1392559., 1396976., 1401393., 1405810., 1410227., 1414644., 1419061.,
      1423478., 1427895., 1426523., 1431136., 1435749., 1440362., 1444975.,
      1449588., 1454201., 1458814., 1463427., 1468040., 1472653., 1477266.,
      1481879., 1486492., 1491105., 1486989., 1491798., 1496607., 1501416.,
      1506225., 1511034., 1515843., 1520652., 1525461., 1530270., 1535079.,
      1539888., 1544697., 1549506., 1554315., 1547455., 1552460., 1557465.,
      1562470., 1567475., 1572480., 1577485., 1582490., 1587495., 1592500.,
      1597505., 1602510., 1607515., 1612520., 1617525., 1607921., 1613122.,
      1618323., 1623524., 1628725., 1633926., 1639127., 1644328., 1649529.,
      1654730., 1659931., 1665132., 1670333., 1675534., 1680735., 1668387.,
      1673784., 1679181., 1684578., 1689975., 1695372., 1700769., 1706166.,
      1711563., 1716960., 1722357., 1727754., 1733151., 1738548., 1743945.,
      1728853., 1734446., 1740039., 1745632., 1751225., 1756818., 1762411.,
      1768004., 1773597., 1779190., 1784783., 1790376., 1795969., 1801562.,
      1807155., 1789319., 1795108., 1800897., 1806686., 1812475., 1818264.,
      1824053., 1829842., 1835631., 1841420., 1847209., 1852998., 1858787.,
      1864576., 1870365., 3106635., 3112620., 3118605., 3124590., 3130575.,
      3136560., 3142545., 3148530., 3154515., 3160500., 3166485., 3172470.,
      3178455., 3184440., 3190425., 3208261., 3214442., 3220623., 3226804.,
      3232985., 3239166., 3245347., 3251528., 3257709., 3263890., 3270071.,
      3276252., 3282433., 3288614., 3294795., 3309887., 3316264., 3322641.,
      3329018., 3335395., 3341772., 3348149., 3354526., 3360903., 3367280.,
      3373657., 3380034., 3386411., 3392788., 3399165., 3411513., 3418086.,
      3424659., 3431232., 3437805., 3444378., 3450951., 3457524., 3464097.,
      3470670., 3477243., 3483816., 3490389., 3496962., 3503535., 3513139.,
      3519908., 3526677., 3533446., 3540215., 3546984., 3553753., 3560522.,
      3567291., 3574060., 3580829., 3587598., 3594367., 3601136., 3607905.,
      3614765., 3621730., 3628695., 3635660., 3642625., 3649590., 3656555.,
      3663520., 3670485., 3677450., 3684415., 3691380., 3698345., 3705310.,
      3712275., 3716391., 3723552., 3730713., 3737874., 3745035., 3752196.,
      3759357., 3766518., 3773679., 3780840., 3788001., 3795162., 3802323.,
      3809484., 3816645., 3818017., 3825374., 3832731., 3840088., 3847445.,
      3854802., 3862159., 3869516., 3876873., 3884230., 3891587., 3898944.,
      3906301., 3913658., 3921015., 3919643., 3927196., 3934749., 3942302.,
      3949855., 3957408., 3964961., 3972514., 3980067., 3987620., 3995173.,
      4002726., 4010279., 4017832., 4025385., 4021269., 4029018., 4036767.,
      4044516., 4052265., 4060014., 4067763., 4075512., 4083261., 4091010.,
      4098759., 4106508., 4114257., 4122006., 4129755., 4122895., 4130840.,
      4138785., 4146730., 4154675., 4162620., 4170565., 4178510., 4186455.,
      4194400., 4202345., 4210290., 4218235., 4226180., 4234125., 4224521.,
      4232662., 4240803., 4248944., 4257085., 4265226., 4273367., 4281508.,
      4289649., 4297790., 4305931., 4314072., 4322213., 4330354., 4338495.,
      4326147., 4334484., 4342821., 4351158., 4359495., 4367832., 4376169.,
      4384506., 4392843., 4401180., 4409517., 4417854., 4426191., 4434528.,
      4442865., 4427773., 4436306., 4444839., 4453372., 4461905., 4470438.,
      4478971., 4487504., 4496037., 4504570., 4513103., 4521636., 4530169.,
      4538702., 4547235., 4529399., 4538128., 4546857., 4555586., 4564315.,
      4573044., 4581773., 4590502., 4599231., 4607960., 4616689., 4625418.,
      4634147., 4642876., 4651605.};
  const int batches = 3;
  const int m = 15;
  const int k = 14;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseFalse, M15xK14xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      14665.,   14770.,   14875.,   14980.,   15085.,   15190.,   15295.,
      15400.,   15505.,   15610.,   15715.,   15820.,   15925.,   16030.,
      16135.,   16240.,   35245.,   35546.,   35847.,   36148.,   36449.,
      36750.,   37051.,   37352.,   37653.,   37954.,   38255.,   38556.,
      38857.,   39158.,   39459.,   39760.,   55825.,   56322.,   56819.,
      57316.,   57813.,   58310.,   58807.,   59304.,   59801.,   60298.,
      60795.,   61292.,   61789.,   62286.,   62783.,   63280.,   76405.,
      77098.,   77791.,   78484.,   79177.,   79870.,   80563.,   81256.,
      81949.,   82642.,   83335.,   84028.,   84721.,   85414.,   86107.,
      86800.,   96985.,   97874.,   98763.,   99652.,   100541.,  101430.,
      102319.,  103208.,  104097.,  104986.,  105875.,  106764.,  107653.,
      108542.,  109431.,  110320.,  117565.,  118650.,  119735.,  120820.,
      121905.,  122990.,  124075.,  125160.,  126245.,  127330.,  128415.,
      129500.,  130585.,  131670.,  132755.,  133840.,  138145.,  139426.,
      140707.,  141988.,  143269.,  144550.,  145831.,  147112.,  148393.,
      149674.,  150955.,  152236.,  153517.,  154798.,  156079.,  157360.,
      158725.,  160202.,  161679.,  163156.,  164633.,  166110.,  167587.,
      169064.,  170541.,  172018.,  173495.,  174972.,  176449.,  177926.,
      179403.,  180880.,  179305.,  180978.,  182651.,  184324.,  185997.,
      187670.,  189343.,  191016.,  192689.,  194362.,  196035.,  197708.,
      199381.,  201054.,  202727.,  204400.,  199885.,  201754.,  203623.,
      205492.,  207361.,  209230.,  211099.,  212968.,  214837.,  216706.,
      218575.,  220444.,  222313.,  224182.,  226051.,  227920.,  220465.,
      222530.,  224595.,  226660.,  228725.,  230790.,  232855.,  234920.,
      236985.,  239050.,  241115.,  243180.,  245245.,  247310.,  249375.,
      251440.,  241045.,  243306.,  245567.,  247828.,  250089.,  252350.,
      254611.,  256872.,  259133.,  261394.,  263655.,  265916.,  268177.,
      270438.,  272699.,  274960.,  261625.,  264082.,  266539.,  268996.,
      271453.,  273910.,  276367.,  278824.,  281281.,  283738.,  286195.,
      288652.,  291109.,  293566.,  296023.,  298480.,  282205.,  284858.,
      287511.,  290164.,  292817.,  295470.,  298123.,  300776.,  303429.,
      306082.,  308735.,  311388.,  314041.,  316694.,  319347.,  322000.,
      302785.,  305634.,  308483.,  311332.,  314181.,  317030.,  319879.,
      322728.,  325577.,  328426.,  331275.,  334124.,  336973.,  339822.,
      342671.,  345520.,  1005445., 1008490., 1011535., 1014580., 1017625.,
      1020670., 1023715., 1026760., 1029805., 1032850., 1035895., 1038940.,
      1041985., 1045030., 1048075., 1051120., 1069929., 1073170., 1076411.,
      1079652., 1082893., 1086134., 1089375., 1092616., 1095857., 1099098.,
      1102339., 1105580., 1108821., 1112062., 1115303., 1118544., 1134413.,
      1137850., 1141287., 1144724., 1148161., 1151598., 1155035., 1158472.,
      1161909., 1165346., 1168783., 1172220., 1175657., 1179094., 1182531.,
      1185968., 1198897., 1202530., 1206163., 1209796., 1213429., 1217062.,
      1220695., 1224328., 1227961., 1231594., 1235227., 1238860., 1242493.,
      1246126., 1249759., 1253392., 1263381., 1267210., 1271039., 1274868.,
      1278697., 1282526., 1286355., 1290184., 1294013., 1297842., 1301671.,
      1305500., 1309329., 1313158., 1316987., 1320816., 1327865., 1331890.,
      1335915., 1339940., 1343965., 1347990., 1352015., 1356040., 1360065.,
      1364090., 1368115., 1372140., 1376165., 1380190., 1384215., 1388240.,
      1392349., 1396570., 1400791., 1405012., 1409233., 1413454., 1417675.,
      1421896., 1426117., 1430338., 1434559., 1438780., 1443001., 1447222.,
      1451443., 1455664., 1456833., 1461250., 1465667., 1470084., 1474501.,
      1478918., 1483335., 1487752., 1492169., 1496586., 1501003., 1505420.,
      1509837., 1514254., 1518671., 1523088., 1521317., 1525930., 1530543.,
      1535156., 1539769., 1544382., 1548995., 1553608., 1558221., 1562834.,
      1567447., 1572060., 1576673., 1581286., 1585899., 1590512., 1585801.,
      1590610., 1595419., 1600228., 1605037., 1609846., 1614655., 1619464.,
      1624273., 1629082., 1633891., 1638700., 1643509., 1648318., 1653127.,
      1657936., 1650285., 1655290., 1660295., 1665300., 1670305., 1675310.,
      1680315., 1685320., 1690325., 1695330., 1700335., 1705340., 1710345.,
      1715350., 1720355., 1725360., 1714769., 1719970., 1725171., 1730372.,
      1735573., 1740774., 1745975., 1751176., 1756377., 1761578., 1766779.,
      1771980., 1777181., 1782382., 1787583., 1792784., 1779253., 1784650.,
      1790047., 1795444., 1800841., 1806238., 1811635., 1817032., 1822429.,
      1827826., 1833223., 1838620., 1844017., 1849414., 1854811., 1860208.,
      1843737., 1849330., 1854923., 1860516., 1866109., 1871702., 1877295.,
      1882888., 1888481., 1894074., 1899667., 1905260., 1910853., 1916446.,
      1922039., 1927632., 1908221., 1914010., 1919799., 1925588., 1931377.,
      1937166., 1942955., 1948744., 1954533., 1960322., 1966111., 1971900.,
      1977689., 1983478., 1989267., 1995056., 3313345., 3319330., 3325315.,
      3331300., 3337285., 3343270., 3349255., 3355240., 3361225., 3367210.,
      3373195., 3379180., 3385165., 3391150., 3397135., 3403120., 3421733.,
      3427914., 3434095., 3440276., 3446457., 3452638., 3458819., 3465000.,
      3471181., 3477362., 3483543., 3489724., 3495905., 3502086., 3508267.,
      3514448., 3530121., 3536498., 3542875., 3549252., 3555629., 3562006.,
      3568383., 3574760., 3581137., 3587514., 3593891., 3600268., 3606645.,
      3613022., 3619399., 3625776., 3638509., 3645082., 3651655., 3658228.,
      3664801., 3671374., 3677947., 3684520., 3691093., 3697666., 3704239.,
      3710812., 3717385., 3723958., 3730531., 3737104., 3746897., 3753666.,
      3760435., 3767204., 3773973., 3780742., 3787511., 3794280., 3801049.,
      3807818., 3814587., 3821356., 3828125., 3834894., 3841663., 3848432.,
      3855285., 3862250., 3869215., 3876180., 3883145., 3890110., 3897075.,
      3904040., 3911005., 3917970., 3924935., 3931900., 3938865., 3945830.,
      3952795., 3959760., 3963673., 3970834., 3977995., 3985156., 3992317.,
      3999478., 4006639., 4013800., 4020961., 4028122., 4035283., 4042444.,
      4049605., 4056766., 4063927., 4071088., 4072061., 4079418., 4086775.,
      4094132., 4101489., 4108846., 4116203., 4123560., 4130917., 4138274.,
      4145631., 4152988., 4160345., 4167702., 4175059., 4182416., 4180449.,
      4188002., 4195555., 4203108., 4210661., 4218214., 4225767., 4233320.,
      4240873., 4248426., 4255979., 4263532., 4271085., 4278638., 4286191.,
      4293744., 4288837., 4296586., 4304335., 4312084., 4319833., 4327582.,
      4335331., 4343080., 4350829., 4358578., 4366327., 4374076., 4381825.,
      4389574., 4397323., 4405072., 4397225., 4405170., 4413115., 4421060.,
      4429005., 4436950., 4444895., 4452840., 4460785., 4468730., 4476675.,
      4484620., 4492565., 4500510., 4508455., 4516400., 4505613., 4513754.,
      4521895., 4530036., 4538177., 4546318., 4554459., 4562600., 4570741.,
      4578882., 4587023., 4595164., 4603305., 4611446., 4619587., 4627728.,
      4614001., 4622338., 4630675., 4639012., 4647349., 4655686., 4664023.,
      4672360., 4680697., 4689034., 4697371., 4705708., 4714045., 4722382.,
      4730719., 4739056., 4722389., 4730922., 4739455., 4747988., 4756521.,
      4765054., 4773587., 4782120., 4790653., 4799186., 4807719., 4816252.,
      4824785., 4833318., 4841851., 4850384., 4830777., 4839506., 4848235.,
      4856964., 4865693., 4874422., 4883151., 4891880., 4900609., 4909338.,
      4918067., 4926796., 4935525., 4944254., 4952983., 4961712.};
  const int batches = 3;
  const int m = 15;
  const int k = 14;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseFalse, M15xK15xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      15800.,   15920.,   16040.,   16160.,   16280.,   16400.,   16520.,
      16640.,   16760.,   16880.,   17000.,   17120.,   17240.,   17360.,
      38075.,   38420.,   38765.,   39110.,   39455.,   39800.,   40145.,
      40490.,   40835.,   41180.,   41525.,   41870.,   42215.,   42560.,
      60350.,   60920.,   61490.,   62060.,   62630.,   63200.,   63770.,
      64340.,   64910.,   65480.,   66050.,   66620.,   67190.,   67760.,
      82625.,   83420.,   84215.,   85010.,   85805.,   86600.,   87395.,
      88190.,   88985.,   89780.,   90575.,   91370.,   92165.,   92960.,
      104900.,  105920.,  106940.,  107960.,  108980.,  110000.,  111020.,
      112040.,  113060.,  114080.,  115100.,  116120.,  117140.,  118160.,
      127175.,  128420.,  129665.,  130910.,  132155.,  133400.,  134645.,
      135890.,  137135.,  138380.,  139625.,  140870.,  142115.,  143360.,
      149450.,  150920.,  152390.,  153860.,  155330.,  156800.,  158270.,
      159740.,  161210.,  162680.,  164150.,  165620.,  167090.,  168560.,
      171725.,  173420.,  175115.,  176810.,  178505.,  180200.,  181895.,
      183590.,  185285.,  186980.,  188675.,  190370.,  192065.,  193760.,
      194000.,  195920.,  197840.,  199760.,  201680.,  203600.,  205520.,
      207440.,  209360.,  211280.,  213200.,  215120.,  217040.,  218960.,
      216275.,  218420.,  220565.,  222710.,  224855.,  227000.,  229145.,
      231290.,  233435.,  235580.,  237725.,  239870.,  242015.,  244160.,
      238550.,  240920.,  243290.,  245660.,  248030.,  250400.,  252770.,
      255140.,  257510.,  259880.,  262250.,  264620.,  266990.,  269360.,
      260825.,  263420.,  266015.,  268610.,  271205.,  273800.,  276395.,
      278990.,  281585.,  284180.,  286775.,  289370.,  291965.,  294560.,
      283100.,  285920.,  288740.,  291560.,  294380.,  297200.,  300020.,
      302840.,  305660.,  308480.,  311300.,  314120.,  316940.,  319760.,
      305375.,  308420.,  311465.,  314510.,  317555.,  320600.,  323645.,
      326690.,  329735.,  332780.,  335825.,  338870.,  341915.,  344960.,
      327650.,  330920.,  334190.,  337460.,  340730.,  344000.,  347270.,
      350540.,  353810.,  357080.,  360350.,  363620.,  366890.,  370160.,
      1083875., 1087370., 1090865., 1094360., 1097855., 1101350., 1104845.,
      1108340., 1111835., 1115330., 1118825., 1122320., 1125815., 1129310.,
      1153400., 1157120., 1160840., 1164560., 1168280., 1172000., 1175720.,
      1179440., 1183160., 1186880., 1190600., 1194320., 1198040., 1201760.,
      1222925., 1226870., 1230815., 1234760., 1238705., 1242650., 1246595.,
      1250540., 1254485., 1258430., 1262375., 1266320., 1270265., 1274210.,
      1292450., 1296620., 1300790., 1304960., 1309130., 1313300., 1317470.,
      1321640., 1325810., 1329980., 1334150., 1338320., 1342490., 1346660.,
      1361975., 1366370., 1370765., 1375160., 1379555., 1383950., 1388345.,
      1392740., 1397135., 1401530., 1405925., 1410320., 1414715., 1419110.,
      1431500., 1436120., 1440740., 1445360., 1449980., 1454600., 1459220.,
      1463840., 1468460., 1473080., 1477700., 1482320., 1486940., 1491560.,
      1501025., 1505870., 1510715., 1515560., 1520405., 1525250., 1530095.,
      1534940., 1539785., 1544630., 1549475., 1554320., 1559165., 1564010.,
      1570550., 1575620., 1580690., 1585760., 1590830., 1595900., 1600970.,
      1606040., 1611110., 1616180., 1621250., 1626320., 1631390., 1636460.,
      1640075., 1645370., 1650665., 1655960., 1661255., 1666550., 1671845.,
      1677140., 1682435., 1687730., 1693025., 1698320., 1703615., 1708910.,
      1709600., 1715120., 1720640., 1726160., 1731680., 1737200., 1742720.,
      1748240., 1753760., 1759280., 1764800., 1770320., 1775840., 1781360.,
      1779125., 1784870., 1790615., 1796360., 1802105., 1807850., 1813595.,
      1819340., 1825085., 1830830., 1836575., 1842320., 1848065., 1853810.,
      1848650., 1854620., 1860590., 1866560., 1872530., 1878500., 1884470.,
      1890440., 1896410., 1902380., 1908350., 1914320., 1920290., 1926260.,
      1918175., 1924370., 1930565., 1936760., 1942955., 1949150., 1955345.,
      1961540., 1967735., 1973930., 1980125., 1986320., 1992515., 1998710.,
      1987700., 1994120., 2000540., 2006960., 2013380., 2019800., 2026220.,
      2032640., 2039060., 2045480., 2051900., 2058320., 2064740., 2071160.,
      2057225., 2063870., 2070515., 2077160., 2083805., 2090450., 2097095.,
      2103740., 2110385., 2117030., 2123675., 2130320., 2136965., 2143610.,
      3569450., 3576320., 3583190., 3590060., 3596930., 3603800., 3610670.,
      3617540., 3624410., 3631280., 3638150., 3645020., 3651890., 3658760.,
      3686225., 3693320., 3700415., 3707510., 3714605., 3721700., 3728795.,
      3735890., 3742985., 3750080., 3757175., 3764270., 3771365., 3778460.,
      3803000., 3810320., 3817640., 3824960., 3832280., 3839600., 3846920.,
      3854240., 3861560., 3868880., 3876200., 3883520., 3890840., 3898160.,
      3919775., 3927320., 3934865., 3942410., 3949955., 3957500., 3965045.,
      3972590., 3980135., 3987680., 3995225., 4002770., 4010315., 4017860.,
      4036550., 4044320., 4052090., 4059860., 4067630., 4075400., 4083170.,
      4090940., 4098710., 4106480., 4114250., 4122020., 4129790., 4137560.,
      4153325., 4161320., 4169315., 4177310., 4185305., 4193300., 4201295.,
      4209290., 4217285., 4225280., 4233275., 4241270., 4249265., 4257260.,
      4270100., 4278320., 4286540., 4294760., 4302980., 4311200., 4319420.,
      4327640., 4335860., 4344080., 4352300., 4360520., 4368740., 4376960.,
      4386875., 4395320., 4403765., 4412210., 4420655., 4429100., 4437545.,
      4445990., 4454435., 4462880., 4471325., 4479770., 4488215., 4496660.,
      4503650., 4512320., 4520990., 4529660., 4538330., 4547000., 4555670.,
      4564340., 4573010., 4581680., 4590350., 4599020., 4607690., 4616360.,
      4620425., 4629320., 4638215., 4647110., 4656005., 4664900., 4673795.,
      4682690., 4691585., 4700480., 4709375., 4718270., 4727165., 4736060.,
      4737200., 4746320., 4755440., 4764560., 4773680., 4782800., 4791920.,
      4801040., 4810160., 4819280., 4828400., 4837520., 4846640., 4855760.,
      4853975., 4863320., 4872665., 4882010., 4891355., 4900700., 4910045.,
      4919390., 4928735., 4938080., 4947425., 4956770., 4966115., 4975460.,
      4970750., 4980320., 4989890., 4999460., 5009030., 5018600., 5028170.,
      5037740., 5047310., 5056880., 5066450., 5076020., 5085590., 5095160.,
      5087525., 5097320., 5107115., 5116910., 5126705., 5136500., 5146295.,
      5156090., 5165885., 5175680., 5185475., 5195270., 5205065., 5214860.,
      5204300., 5214320., 5224340., 5234360., 5244380., 5254400., 5264420.,
      5274440., 5284460., 5294480., 5304500., 5314520., 5324540., 5334560.};
  const int batches = 3;
  const int m = 15;
  const int k = 15;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseFalse, M15xK15xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      16920.,   17040.,   17160.,   17280.,   17400.,   17520.,   17640.,
      17760.,   17880.,   18000.,   18120.,   18240.,   18360.,   18480.,
      18600.,   40770.,   41115.,   41460.,   41805.,   42150.,   42495.,
      42840.,   43185.,   43530.,   43875.,   44220.,   44565.,   44910.,
      45255.,   45600.,   64620.,   65190.,   65760.,   66330.,   66900.,
      67470.,   68040.,   68610.,   69180.,   69750.,   70320.,   70890.,
      71460.,   72030.,   72600.,   88470.,   89265.,   90060.,   90855.,
      91650.,   92445.,   93240.,   94035.,   94830.,   95625.,   96420.,
      97215.,   98010.,   98805.,   99600.,   112320.,  113340.,  114360.,
      115380.,  116400.,  117420.,  118440.,  119460.,  120480.,  121500.,
      122520.,  123540.,  124560.,  125580.,  126600.,  136170.,  137415.,
      138660.,  139905.,  141150.,  142395.,  143640.,  144885.,  146130.,
      147375.,  148620.,  149865.,  151110.,  152355.,  153600.,  160020.,
      161490.,  162960.,  164430.,  165900.,  167370.,  168840.,  170310.,
      171780.,  173250.,  174720.,  176190.,  177660.,  179130.,  180600.,
      183870.,  185565.,  187260.,  188955.,  190650.,  192345.,  194040.,
      195735.,  197430.,  199125.,  200820.,  202515.,  204210.,  205905.,
      207600.,  207720.,  209640.,  211560.,  213480.,  215400.,  217320.,
      219240.,  221160.,  223080.,  225000.,  226920.,  228840.,  230760.,
      232680.,  234600.,  231570.,  233715.,  235860.,  238005.,  240150.,
      242295.,  244440.,  246585.,  248730.,  250875.,  253020.,  255165.,
      257310.,  259455.,  261600.,  255420.,  257790.,  260160.,  262530.,
      264900.,  267270.,  269640.,  272010.,  274380.,  276750.,  279120.,
      281490.,  283860.,  286230.,  288600.,  279270.,  281865.,  284460.,
      287055.,  289650.,  292245.,  294840.,  297435.,  300030.,  302625.,
      305220.,  307815.,  310410.,  313005.,  315600.,  303120.,  305940.,
      308760.,  311580.,  314400.,  317220.,  320040.,  322860.,  325680.,
      328500.,  331320.,  334140.,  336960.,  339780.,  342600.,  326970.,
      330015.,  333060.,  336105.,  339150.,  342195.,  345240.,  348285.,
      351330.,  354375.,  357420.,  360465.,  363510.,  366555.,  369600.,
      350820.,  354090.,  357360.,  360630.,  363900.,  367170.,  370440.,
      373710.,  376980.,  380250.,  383520.,  386790.,  390060.,  393330.,
      396600.,  1161045., 1164540., 1168035., 1171530., 1175025., 1178520.,
      1182015., 1185510., 1189005., 1192500., 1195995., 1199490., 1202985.,
      1206480., 1209975., 1235520., 1239240., 1242960., 1246680., 1250400.,
      1254120., 1257840., 1261560., 1265280., 1269000., 1272720., 1276440.,
      1280160., 1283880., 1287600., 1309995., 1313940., 1317885., 1321830.,
      1325775., 1329720., 1333665., 1337610., 1341555., 1345500., 1349445.,
      1353390., 1357335., 1361280., 1365225., 1384470., 1388640., 1392810.,
      1396980., 1401150., 1405320., 1409490., 1413660., 1417830., 1422000.,
      1426170., 1430340., 1434510., 1438680., 1442850., 1458945., 1463340.,
      1467735., 1472130., 1476525., 1480920., 1485315., 1489710., 1494105.,
      1498500., 1502895., 1507290., 1511685., 1516080., 1520475., 1533420.,
      1538040., 1542660., 1547280., 1551900., 1556520., 1561140., 1565760.,
      1570380., 1575000., 1579620., 1584240., 1588860., 1593480., 1598100.,
      1607895., 1612740., 1617585., 1622430., 1627275., 1632120., 1636965.,
      1641810., 1646655., 1651500., 1656345., 1661190., 1666035., 1670880.,
      1675725., 1682370., 1687440., 1692510., 1697580., 1702650., 1707720.,
      1712790., 1717860., 1722930., 1728000., 1733070., 1738140., 1743210.,
      1748280., 1753350., 1756845., 1762140., 1767435., 1772730., 1778025.,
      1783320., 1788615., 1793910., 1799205., 1804500., 1809795., 1815090.,
      1820385., 1825680., 1830975., 1831320., 1836840., 1842360., 1847880.,
      1853400., 1858920., 1864440., 1869960., 1875480., 1881000., 1886520.,
      1892040., 1897560., 1903080., 1908600., 1905795., 1911540., 1917285.,
      1923030., 1928775., 1934520., 1940265., 1946010., 1951755., 1957500.,
      1963245., 1968990., 1974735., 1980480., 1986225., 1980270., 1986240.,
      1992210., 1998180., 2004150., 2010120., 2016090., 2022060., 2028030.,
      2034000., 2039970., 2045940., 2051910., 2057880., 2063850., 2054745.,
      2060940., 2067135., 2073330., 2079525., 2085720., 2091915., 2098110.,
      2104305., 2110500., 2116695., 2122890., 2129085., 2135280., 2141475.,
      2129220., 2135640., 2142060., 2148480., 2154900., 2161320., 2167740.,
      2174160., 2180580., 2187000., 2193420., 2199840., 2206260., 2212680.,
      2219100., 2203695., 2210340., 2216985., 2223630., 2230275., 2236920.,
      2243565., 2250210., 2256855., 2263500., 2270145., 2276790., 2283435.,
      2290080., 2296725., 3823920., 3830790., 3837660., 3844530., 3851400.,
      3858270., 3865140., 3872010., 3878880., 3885750., 3892620., 3899490.,
      3906360., 3913230., 3920100., 3949020., 3956115., 3963210., 3970305.,
      3977400., 3984495., 3991590., 3998685., 4005780., 4012875., 4019970.,
      4027065., 4034160., 4041255., 4048350., 4074120., 4081440., 4088760.,
      4096080., 4103400., 4110720., 4118040., 4125360., 4132680., 4140000.,
      4147320., 4154640., 4161960., 4169280., 4176600., 4199220., 4206765.,
      4214310., 4221855., 4229400., 4236945., 4244490., 4252035., 4259580.,
      4267125., 4274670., 4282215., 4289760., 4297305., 4304850., 4324320.,
      4332090., 4339860., 4347630., 4355400., 4363170., 4370940., 4378710.,
      4386480., 4394250., 4402020., 4409790., 4417560., 4425330., 4433100.,
      4449420., 4457415., 4465410., 4473405., 4481400., 4489395., 4497390.,
      4505385., 4513380., 4521375., 4529370., 4537365., 4545360., 4553355.,
      4561350., 4574520., 4582740., 4590960., 4599180., 4607400., 4615620.,
      4623840., 4632060., 4640280., 4648500., 4656720., 4664940., 4673160.,
      4681380., 4689600., 4699620., 4708065., 4716510., 4724955., 4733400.,
      4741845., 4750290., 4758735., 4767180., 4775625., 4784070., 4792515.,
      4800960., 4809405., 4817850., 4824720., 4833390., 4842060., 4850730.,
      4859400., 4868070., 4876740., 4885410., 4894080., 4902750., 4911420.,
      4920090., 4928760., 4937430., 4946100., 4949820., 4958715., 4967610.,
      4976505., 4985400., 4994295., 5003190., 5012085., 5020980., 5029875.,
      5038770., 5047665., 5056560., 5065455., 5074350., 5074920., 5084040.,
      5093160., 5102280., 5111400., 5120520., 5129640., 5138760., 5147880.,
      5157000., 5166120., 5175240., 5184360., 5193480., 5202600., 5200020.,
      5209365., 5218710., 5228055., 5237400., 5246745., 5256090., 5265435.,
      5274780., 5284125., 5293470., 5302815., 5312160., 5321505., 5330850.,
      5325120., 5334690., 5344260., 5353830., 5363400., 5372970., 5382540.,
      5392110., 5401680., 5411250., 5420820., 5430390., 5439960., 5449530.,
      5459100., 5450220., 5460015., 5469810., 5479605., 5489400., 5499195.,
      5508990., 5518785., 5528580., 5538375., 5548170., 5557965., 5567760.,
      5577555., 5587350., 5575320., 5585340., 5595360., 5605380., 5615400.,
      5625420., 5635440., 5645460., 5655480., 5665500., 5675520., 5685540.,
      5695560., 5705580., 5715600.};
  const int batches = 3;
  const int m = 15;
  const int k = 15;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseFalse, M15xK15xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      18040.,   18160.,   18280.,   18400.,   18520.,   18640.,   18760.,
      18880.,   19000.,   19120.,   19240.,   19360.,   19480.,   19600.,
      19720.,   19840.,   43465.,   43810.,   44155.,   44500.,   44845.,
      45190.,   45535.,   45880.,   46225.,   46570.,   46915.,   47260.,
      47605.,   47950.,   48295.,   48640.,   68890.,   69460.,   70030.,
      70600.,   71170.,   71740.,   72310.,   72880.,   73450.,   74020.,
      74590.,   75160.,   75730.,   76300.,   76870.,   77440.,   94315.,
      95110.,   95905.,   96700.,   97495.,   98290.,   99085.,   99880.,
      100675.,  101470.,  102265.,  103060.,  103855.,  104650.,  105445.,
      106240.,  119740.,  120760.,  121780.,  122800.,  123820.,  124840.,
      125860.,  126880.,  127900.,  128920.,  129940.,  130960.,  131980.,
      133000.,  134020.,  135040.,  145165.,  146410.,  147655.,  148900.,
      150145.,  151390.,  152635.,  153880.,  155125.,  156370.,  157615.,
      158860.,  160105.,  161350.,  162595.,  163840.,  170590.,  172060.,
      173530.,  175000.,  176470.,  177940.,  179410.,  180880.,  182350.,
      183820.,  185290.,  186760.,  188230.,  189700.,  191170.,  192640.,
      196015.,  197710.,  199405.,  201100.,  202795.,  204490.,  206185.,
      207880.,  209575.,  211270.,  212965.,  214660.,  216355.,  218050.,
      219745.,  221440.,  221440.,  223360.,  225280.,  227200.,  229120.,
      231040.,  232960.,  234880.,  236800.,  238720.,  240640.,  242560.,
      244480.,  246400.,  248320.,  250240.,  246865.,  249010.,  251155.,
      253300.,  255445.,  257590.,  259735.,  261880.,  264025.,  266170.,
      268315.,  270460.,  272605.,  274750.,  276895.,  279040.,  272290.,
      274660.,  277030.,  279400.,  281770.,  284140.,  286510.,  288880.,
      291250.,  293620.,  295990.,  298360.,  300730.,  303100.,  305470.,
      307840.,  297715.,  300310.,  302905.,  305500.,  308095.,  310690.,
      313285.,  315880.,  318475.,  321070.,  323665.,  326260.,  328855.,
      331450.,  334045.,  336640.,  323140.,  325960.,  328780.,  331600.,
      334420.,  337240.,  340060.,  342880.,  345700.,  348520.,  351340.,
      354160.,  356980.,  359800.,  362620.,  365440.,  348565.,  351610.,
      354655.,  357700.,  360745.,  363790.,  366835.,  369880.,  372925.,
      375970.,  379015.,  382060.,  385105.,  388150.,  391195.,  394240.,
      373990.,  377260.,  380530.,  383800.,  387070.,  390340.,  393610.,
      396880.,  400150.,  403420.,  406690.,  409960.,  413230.,  416500.,
      419770.,  423040.,  1238215., 1241710., 1245205., 1248700., 1252195.,
      1255690., 1259185., 1262680., 1266175., 1269670., 1273165., 1276660.,
      1280155., 1283650., 1287145., 1290640., 1317640., 1321360., 1325080.,
      1328800., 1332520., 1336240., 1339960., 1343680., 1347400., 1351120.,
      1354840., 1358560., 1362280., 1366000., 1369720., 1373440., 1397065.,
      1401010., 1404955., 1408900., 1412845., 1416790., 1420735., 1424680.,
      1428625., 1432570., 1436515., 1440460., 1444405., 1448350., 1452295.,
      1456240., 1476490., 1480660., 1484830., 1489000., 1493170., 1497340.,
      1501510., 1505680., 1509850., 1514020., 1518190., 1522360., 1526530.,
      1530700., 1534870., 1539040., 1555915., 1560310., 1564705., 1569100.,
      1573495., 1577890., 1582285., 1586680., 1591075., 1595470., 1599865.,
      1604260., 1608655., 1613050., 1617445., 1621840., 1635340., 1639960.,
      1644580., 1649200., 1653820., 1658440., 1663060., 1667680., 1672300.,
      1676920., 1681540., 1686160., 1690780., 1695400., 1700020., 1704640.,
      1714765., 1719610., 1724455., 1729300., 1734145., 1738990., 1743835.,
      1748680., 1753525., 1758370., 1763215., 1768060., 1772905., 1777750.,
      1782595., 1787440., 1794190., 1799260., 1804330., 1809400., 1814470.,
      1819540., 1824610., 1829680., 1834750., 1839820., 1844890., 1849960.,
      1855030., 1860100., 1865170., 1870240., 1873615., 1878910., 1884205.,
      1889500., 1894795., 1900090., 1905385., 1910680., 1915975., 1921270.,
      1926565., 1931860., 1937155., 1942450., 1947745., 1953040., 1953040.,
      1958560., 1964080., 1969600., 1975120., 1980640., 1986160., 1991680.,
      1997200., 2002720., 2008240., 2013760., 2019280., 2024800., 2030320.,
      2035840., 2032465., 2038210., 2043955., 2049700., 2055445., 2061190.,
      2066935., 2072680., 2078425., 2084170., 2089915., 2095660., 2101405.,
      2107150., 2112895., 2118640., 2111890., 2117860., 2123830., 2129800.,
      2135770., 2141740., 2147710., 2153680., 2159650., 2165620., 2171590.,
      2177560., 2183530., 2189500., 2195470., 2201440., 2191315., 2197510.,
      2203705., 2209900., 2216095., 2222290., 2228485., 2234680., 2240875.,
      2247070., 2253265., 2259460., 2265655., 2271850., 2278045., 2284240.,
      2270740., 2277160., 2283580., 2290000., 2296420., 2302840., 2309260.,
      2315680., 2322100., 2328520., 2334940., 2341360., 2347780., 2354200.,
      2360620., 2367040., 2350165., 2356810., 2363455., 2370100., 2376745.,
      2383390., 2390035., 2396680., 2403325., 2409970., 2416615., 2423260.,
      2429905., 2436550., 2443195., 2449840., 4078390., 4085260., 4092130.,
      4099000., 4105870., 4112740., 4119610., 4126480., 4133350., 4140220.,
      4147090., 4153960., 4160830., 4167700., 4174570., 4181440., 4211815.,
      4218910., 4226005., 4233100., 4240195., 4247290., 4254385., 4261480.,
      4268575., 4275670., 4282765., 4289860., 4296955., 4304050., 4311145.,
      4318240., 4345240., 4352560., 4359880., 4367200., 4374520., 4381840.,
      4389160., 4396480., 4403800., 4411120., 4418440., 4425760., 4433080.,
      4440400., 4447720., 4455040., 4478665., 4486210., 4493755., 4501300.,
      4508845., 4516390., 4523935., 4531480., 4539025., 4546570., 4554115.,
      4561660., 4569205., 4576750., 4584295., 4591840., 4612090., 4619860.,
      4627630., 4635400., 4643170., 4650940., 4658710., 4666480., 4674250.,
      4682020., 4689790., 4697560., 4705330., 4713100., 4720870., 4728640.,
      4745515., 4753510., 4761505., 4769500., 4777495., 4785490., 4793485.,
      4801480., 4809475., 4817470., 4825465., 4833460., 4841455., 4849450.,
      4857445., 4865440., 4878940., 4887160., 4895380., 4903600., 4911820.,
      4920040., 4928260., 4936480., 4944700., 4952920., 4961140., 4969360.,
      4977580., 4985800., 4994020., 5002240., 5012365., 5020810., 5029255.,
      5037700., 5046145., 5054590., 5063035., 5071480., 5079925., 5088370.,
      5096815., 5105260., 5113705., 5122150., 5130595., 5139040., 5145790.,
      5154460., 5163130., 5171800., 5180470., 5189140., 5197810., 5206480.,
      5215150., 5223820., 5232490., 5241160., 5249830., 5258500., 5267170.,
      5275840., 5279215., 5288110., 5297005., 5305900., 5314795., 5323690.,
      5332585., 5341480., 5350375., 5359270., 5368165., 5377060., 5385955.,
      5394850., 5403745., 5412640., 5412640., 5421760., 5430880., 5440000.,
      5449120., 5458240., 5467360., 5476480., 5485600., 5494720., 5503840.,
      5512960., 5522080., 5531200., 5540320., 5549440., 5546065., 5555410.,
      5564755., 5574100., 5583445., 5592790., 5602135., 5611480., 5620825.,
      5630170., 5639515., 5648860., 5658205., 5667550., 5676895., 5686240.,
      5679490., 5689060., 5698630., 5708200., 5717770., 5727340., 5736910.,
      5746480., 5756050., 5765620., 5775190., 5784760., 5794330., 5803900.,
      5813470., 5823040., 5812915., 5822710., 5832505., 5842300., 5852095.,
      5861890., 5871685., 5881480., 5891275., 5901070., 5910865., 5920660.,
      5930455., 5940250., 5950045., 5959840., 5946340., 5956360., 5966380.,
      5976400., 5986420., 5996440., 6006460., 6016480., 6026500., 6036520.,
      6046540., 6056560., 6066580., 6076600., 6086620., 6096640.};
  const int batches = 3;
  const int m = 15;
  const int k = 15;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseFalse, M15xK16xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      19176.,   19312.,   19448.,   19584.,   19720.,   19856.,   19992.,
      20128.,   20264.,   20400.,   20536.,   20672.,   20808.,   20944.,
      46312.,   46704.,   47096.,   47488.,   47880.,   48272.,   48664.,
      49056.,   49448.,   49840.,   50232.,   50624.,   51016.,   51408.,
      73448.,   74096.,   74744.,   75392.,   76040.,   76688.,   77336.,
      77984.,   78632.,   79280.,   79928.,   80576.,   81224.,   81872.,
      100584.,  101488.,  102392.,  103296.,  104200.,  105104.,  106008.,
      106912.,  107816.,  108720.,  109624.,  110528.,  111432.,  112336.,
      127720.,  128880.,  130040.,  131200.,  132360.,  133520.,  134680.,
      135840.,  137000.,  138160.,  139320.,  140480.,  141640.,  142800.,
      154856.,  156272.,  157688.,  159104.,  160520.,  161936.,  163352.,
      164768.,  166184.,  167600.,  169016.,  170432.,  171848.,  173264.,
      181992.,  183664.,  185336.,  187008.,  188680.,  190352.,  192024.,
      193696.,  195368.,  197040.,  198712.,  200384.,  202056.,  203728.,
      209128.,  211056.,  212984.,  214912.,  216840.,  218768.,  220696.,
      222624.,  224552.,  226480.,  228408.,  230336.,  232264.,  234192.,
      236264.,  238448.,  240632.,  242816.,  245000.,  247184.,  249368.,
      251552.,  253736.,  255920.,  258104.,  260288.,  262472.,  264656.,
      263400.,  265840.,  268280.,  270720.,  273160.,  275600.,  278040.,
      280480.,  282920.,  285360.,  287800.,  290240.,  292680.,  295120.,
      290536.,  293232.,  295928.,  298624.,  301320.,  304016.,  306712.,
      309408.,  312104.,  314800.,  317496.,  320192.,  322888.,  325584.,
      317672.,  320624.,  323576.,  326528.,  329480.,  332432.,  335384.,
      338336.,  341288.,  344240.,  347192.,  350144.,  353096.,  356048.,
      344808.,  348016.,  351224.,  354432.,  357640.,  360848.,  364056.,
      367264.,  370472.,  373680.,  376888.,  380096.,  383304.,  386512.,
      371944.,  375408.,  378872.,  382336.,  385800.,  389264.,  392728.,
      396192.,  399656.,  403120.,  406584.,  410048.,  413512.,  416976.,
      399080.,  402800.,  406520.,  410240.,  413960.,  417680.,  421400.,
      425120.,  428840.,  432560.,  436280.,  440000.,  443720.,  447440.,
      1316840., 1320816., 1324792., 1328768., 1332744., 1336720., 1340696.,
      1344672., 1348648., 1352624., 1356600., 1360576., 1364552., 1368528.,
      1401320., 1405552., 1409784., 1414016., 1418248., 1422480., 1426712.,
      1430944., 1435176., 1439408., 1443640., 1447872., 1452104., 1456336.,
      1485800., 1490288., 1494776., 1499264., 1503752., 1508240., 1512728.,
      1517216., 1521704., 1526192., 1530680., 1535168., 1539656., 1544144.,
      1570280., 1575024., 1579768., 1584512., 1589256., 1594000., 1598744.,
      1603488., 1608232., 1612976., 1617720., 1622464., 1627208., 1631952.,
      1654760., 1659760., 1664760., 1669760., 1674760., 1679760., 1684760.,
      1689760., 1694760., 1699760., 1704760., 1709760., 1714760., 1719760.,
      1739240., 1744496., 1749752., 1755008., 1760264., 1765520., 1770776.,
      1776032., 1781288., 1786544., 1791800., 1797056., 1802312., 1807568.,
      1823720., 1829232., 1834744., 1840256., 1845768., 1851280., 1856792.,
      1862304., 1867816., 1873328., 1878840., 1884352., 1889864., 1895376.,
      1908200., 1913968., 1919736., 1925504., 1931272., 1937040., 1942808.,
      1948576., 1954344., 1960112., 1965880., 1971648., 1977416., 1983184.,
      1992680., 1998704., 2004728., 2010752., 2016776., 2022800., 2028824.,
      2034848., 2040872., 2046896., 2052920., 2058944., 2064968., 2070992.,
      2077160., 2083440., 2089720., 2096000., 2102280., 2108560., 2114840.,
      2121120., 2127400., 2133680., 2139960., 2146240., 2152520., 2158800.,
      2161640., 2168176., 2174712., 2181248., 2187784., 2194320., 2200856.,
      2207392., 2213928., 2220464., 2227000., 2233536., 2240072., 2246608.,
      2246120., 2252912., 2259704., 2266496., 2273288., 2280080., 2286872.,
      2293664., 2300456., 2307248., 2314040., 2320832., 2327624., 2334416.,
      2330600., 2337648., 2344696., 2351744., 2358792., 2365840., 2372888.,
      2379936., 2386984., 2394032., 2401080., 2408128., 2415176., 2422224.,
      2415080., 2422384., 2429688., 2436992., 2444296., 2451600., 2458904.,
      2466208., 2473512., 2480816., 2488120., 2495424., 2502728., 2510032.,
      2499560., 2507120., 2514680., 2522240., 2529800., 2537360., 2544920.,
      2552480., 2560040., 2567600., 2575160., 2582720., 2590280., 2597840.,
      4334824., 4342640., 4350456., 4358272., 4366088., 4373904., 4381720.,
      4389536., 4397352., 4405168., 4412984., 4420800., 4428616., 4436432.,
      4476648., 4484720., 4492792., 4500864., 4508936., 4517008., 4525080.,
      4533152., 4541224., 4549296., 4557368., 4565440., 4573512., 4581584.,
      4618472., 4626800., 4635128., 4643456., 4651784., 4660112., 4668440.,
      4676768., 4685096., 4693424., 4701752., 4710080., 4718408., 4726736.,
      4760296., 4768880., 4777464., 4786048., 4794632., 4803216., 4811800.,
      4820384., 4828968., 4837552., 4846136., 4854720., 4863304., 4871888.,
      4902120., 4910960., 4919800., 4928640., 4937480., 4946320., 4955160.,
      4964000., 4972840., 4981680., 4990520., 4999360., 5008200., 5017040.,
      5043944., 5053040., 5062136., 5071232., 5080328., 5089424., 5098520.,
      5107616., 5116712., 5125808., 5134904., 5144000., 5153096., 5162192.,
      5185768., 5195120., 5204472., 5213824., 5223176., 5232528., 5241880.,
      5251232., 5260584., 5269936., 5279288., 5288640., 5297992., 5307344.,
      5327592., 5337200., 5346808., 5356416., 5366024., 5375632., 5385240.,
      5394848., 5404456., 5414064., 5423672., 5433280., 5442888., 5452496.,
      5469416., 5479280., 5489144., 5499008., 5508872., 5518736., 5528600.,
      5538464., 5548328., 5558192., 5568056., 5577920., 5587784., 5597648.,
      5611240., 5621360., 5631480., 5641600., 5651720., 5661840., 5671960.,
      5682080., 5692200., 5702320., 5712440., 5722560., 5732680., 5742800.,
      5753064., 5763440., 5773816., 5784192., 5794568., 5804944., 5815320.,
      5825696., 5836072., 5846448., 5856824., 5867200., 5877576., 5887952.,
      5894888., 5905520., 5916152., 5926784., 5937416., 5948048., 5958680.,
      5969312., 5979944., 5990576., 6001208., 6011840., 6022472., 6033104.,
      6036712., 6047600., 6058488., 6069376., 6080264., 6091152., 6102040.,
      6112928., 6123816., 6134704., 6145592., 6156480., 6167368., 6178256.,
      6178536., 6189680., 6200824., 6211968., 6223112., 6234256., 6245400.,
      6256544., 6267688., 6278832., 6289976., 6301120., 6312264., 6323408.,
      6320360., 6331760., 6343160., 6354560., 6365960., 6377360., 6388760.,
      6400160., 6411560., 6422960., 6434360., 6445760., 6457160., 6468560.};
  const int batches = 3;
  const int m = 15;
  const int k = 16;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseFalse, M15xK16xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      20536.,   20672.,   20808.,   20944.,   21080.,   21216.,   21352.,
      21488.,   21624.,   21760.,   21896.,   22032.,   22168.,   22304.,
      22440.,   49592.,   49984.,   50376.,   50768.,   51160.,   51552.,
      51944.,   52336.,   52728.,   53120.,   53512.,   53904.,   54296.,
      54688.,   55080.,   78648.,   79296.,   79944.,   80592.,   81240.,
      81888.,   82536.,   83184.,   83832.,   84480.,   85128.,   85776.,
      86424.,   87072.,   87720.,   107704.,  108608.,  109512.,  110416.,
      111320.,  112224.,  113128.,  114032.,  114936.,  115840.,  116744.,
      117648.,  118552.,  119456.,  120360.,  136760.,  137920.,  139080.,
      140240.,  141400.,  142560.,  143720.,  144880.,  146040.,  147200.,
      148360.,  149520.,  150680.,  151840.,  153000.,  165816.,  167232.,
      168648.,  170064.,  171480.,  172896.,  174312.,  175728.,  177144.,
      178560.,  179976.,  181392.,  182808.,  184224.,  185640.,  194872.,
      196544.,  198216.,  199888.,  201560.,  203232.,  204904.,  206576.,
      208248.,  209920.,  211592.,  213264.,  214936.,  216608.,  218280.,
      223928.,  225856.,  227784.,  229712.,  231640.,  233568.,  235496.,
      237424.,  239352.,  241280.,  243208.,  245136.,  247064.,  248992.,
      250920.,  252984.,  255168.,  257352.,  259536.,  261720.,  263904.,
      266088.,  268272.,  270456.,  272640.,  274824.,  277008.,  279192.,
      281376.,  283560.,  282040.,  284480.,  286920.,  289360.,  291800.,
      294240.,  296680.,  299120.,  301560.,  304000.,  306440.,  308880.,
      311320.,  313760.,  316200.,  311096.,  313792.,  316488.,  319184.,
      321880.,  324576.,  327272.,  329968.,  332664.,  335360.,  338056.,
      340752.,  343448.,  346144.,  348840.,  340152.,  343104.,  346056.,
      349008.,  351960.,  354912.,  357864.,  360816.,  363768.,  366720.,
      369672.,  372624.,  375576.,  378528.,  381480.,  369208.,  372416.,
      375624.,  378832.,  382040.,  385248.,  388456.,  391664.,  394872.,
      398080.,  401288.,  404496.,  407704.,  410912.,  414120.,  398264.,
      401728.,  405192.,  408656.,  412120.,  415584.,  419048.,  422512.,
      425976.,  429440.,  432904.,  436368.,  439832.,  443296.,  446760.,
      427320.,  431040.,  434760.,  438480.,  442200.,  445920.,  449640.,
      453360.,  457080.,  460800.,  464520.,  468240.,  471960.,  475680.,
      479400.,  1410616., 1414592., 1418568., 1422544., 1426520., 1430496.,
      1434472., 1438448., 1442424., 1446400., 1450376., 1454352., 1458328.,
      1462304., 1466280., 1501112., 1505344., 1509576., 1513808., 1518040.,
      1522272., 1526504., 1530736., 1534968., 1539200., 1543432., 1547664.,
      1551896., 1556128., 1560360., 1591608., 1596096., 1600584., 1605072.,
      1609560., 1614048., 1618536., 1623024., 1627512., 1632000., 1636488.,
      1640976., 1645464., 1649952., 1654440., 1682104., 1686848., 1691592.,
      1696336., 1701080., 1705824., 1710568., 1715312., 1720056., 1724800.,
      1729544., 1734288., 1739032., 1743776., 1748520., 1772600., 1777600.,
      1782600., 1787600., 1792600., 1797600., 1802600., 1807600., 1812600.,
      1817600., 1822600., 1827600., 1832600., 1837600., 1842600., 1863096.,
      1868352., 1873608., 1878864., 1884120., 1889376., 1894632., 1899888.,
      1905144., 1910400., 1915656., 1920912., 1926168., 1931424., 1936680.,
      1953592., 1959104., 1964616., 1970128., 1975640., 1981152., 1986664.,
      1992176., 1997688., 2003200., 2008712., 2014224., 2019736., 2025248.,
      2030760., 2044088., 2049856., 2055624., 2061392., 2067160., 2072928.,
      2078696., 2084464., 2090232., 2096000., 2101768., 2107536., 2113304.,
      2119072., 2124840., 2134584., 2140608., 2146632., 2152656., 2158680.,
      2164704., 2170728., 2176752., 2182776., 2188800., 2194824., 2200848.,
      2206872., 2212896., 2218920., 2225080., 2231360., 2237640., 2243920.,
      2250200., 2256480., 2262760., 2269040., 2275320., 2281600., 2287880.,
      2294160., 2300440., 2306720., 2313000., 2315576., 2322112., 2328648.,
      2335184., 2341720., 2348256., 2354792., 2361328., 2367864., 2374400.,
      2380936., 2387472., 2394008., 2400544., 2407080., 2406072., 2412864.,
      2419656., 2426448., 2433240., 2440032., 2446824., 2453616., 2460408.,
      2467200., 2473992., 2480784., 2487576., 2494368., 2501160., 2496568.,
      2503616., 2510664., 2517712., 2524760., 2531808., 2538856., 2545904.,
      2552952., 2560000., 2567048., 2574096., 2581144., 2588192., 2595240.,
      2587064., 2594368., 2601672., 2608976., 2616280., 2623584., 2630888.,
      2638192., 2645496., 2652800., 2660104., 2667408., 2674712., 2682016.,
      2689320., 2677560., 2685120., 2692680., 2700240., 2707800., 2715360.,
      2722920., 2730480., 2738040., 2745600., 2753160., 2760720., 2768280.,
      2775840., 2783400., 4643896., 4651712., 4659528., 4667344., 4675160.,
      4682976., 4690792., 4698608., 4706424., 4714240., 4722056., 4729872.,
      4737688., 4745504., 4753320., 4795832., 4803904., 4811976., 4820048.,
      4828120., 4836192., 4844264., 4852336., 4860408., 4868480., 4876552.,
      4884624., 4892696., 4900768., 4908840., 4947768., 4956096., 4964424.,
      4972752., 4981080., 4989408., 4997736., 5006064., 5014392., 5022720.,
      5031048., 5039376., 5047704., 5056032., 5064360., 5099704., 5108288.,
      5116872., 5125456., 5134040., 5142624., 5151208., 5159792., 5168376.,
      5176960., 5185544., 5194128., 5202712., 5211296., 5219880., 5251640.,
      5260480., 5269320., 5278160., 5287000., 5295840., 5304680., 5313520.,
      5322360., 5331200., 5340040., 5348880., 5357720., 5366560., 5375400.,
      5403576., 5412672., 5421768., 5430864., 5439960., 5449056., 5458152.,
      5467248., 5476344., 5485440., 5494536., 5503632., 5512728., 5521824.,
      5530920., 5555512., 5564864., 5574216., 5583568., 5592920., 5602272.,
      5611624., 5620976., 5630328., 5639680., 5649032., 5658384., 5667736.,
      5677088., 5686440., 5707448., 5717056., 5726664., 5736272., 5745880.,
      5755488., 5765096., 5774704., 5784312., 5793920., 5803528., 5813136.,
      5822744., 5832352., 5841960., 5859384., 5869248., 5879112., 5888976.,
      5898840., 5908704., 5918568., 5928432., 5938296., 5948160., 5958024.,
      5967888., 5977752., 5987616., 5997480., 6011320., 6021440., 6031560.,
      6041680., 6051800., 6061920., 6072040., 6082160., 6092280., 6102400.,
      6112520., 6122640., 6132760., 6142880., 6153000., 6163256., 6173632.,
      6184008., 6194384., 6204760., 6215136., 6225512., 6235888., 6246264.,
      6256640., 6267016., 6277392., 6287768., 6298144., 6308520., 6315192.,
      6325824., 6336456., 6347088., 6357720., 6368352., 6378984., 6389616.,
      6400248., 6410880., 6421512., 6432144., 6442776., 6453408., 6464040.,
      6467128., 6478016., 6488904., 6499792., 6510680., 6521568., 6532456.,
      6543344., 6554232., 6565120., 6576008., 6586896., 6597784., 6608672.,
      6619560., 6619064., 6630208., 6641352., 6652496., 6663640., 6674784.,
      6685928., 6697072., 6708216., 6719360., 6730504., 6741648., 6752792.,
      6763936., 6775080., 6771000., 6782400., 6793800., 6805200., 6816600.,
      6828000., 6839400., 6850800., 6862200., 6873600., 6885000., 6896400.,
      6907800., 6919200., 6930600.};
  const int batches = 3;
  const int m = 15;
  const int k = 16;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseFalse, M15xK16xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      21896.,   22032.,   22168.,   22304.,   22440.,   22576.,   22712.,
      22848.,   22984.,   23120.,   23256.,   23392.,   23528.,   23664.,
      23800.,   23936.,   52872.,   53264.,   53656.,   54048.,   54440.,
      54832.,   55224.,   55616.,   56008.,   56400.,   56792.,   57184.,
      57576.,   57968.,   58360.,   58752.,   83848.,   84496.,   85144.,
      85792.,   86440.,   87088.,   87736.,   88384.,   89032.,   89680.,
      90328.,   90976.,   91624.,   92272.,   92920.,   93568.,   114824.,
      115728.,  116632.,  117536.,  118440.,  119344.,  120248.,  121152.,
      122056.,  122960.,  123864.,  124768.,  125672.,  126576.,  127480.,
      128384.,  145800.,  146960.,  148120.,  149280.,  150440.,  151600.,
      152760.,  153920.,  155080.,  156240.,  157400.,  158560.,  159720.,
      160880.,  162040.,  163200.,  176776.,  178192.,  179608.,  181024.,
      182440.,  183856.,  185272.,  186688.,  188104.,  189520.,  190936.,
      192352.,  193768.,  195184.,  196600.,  198016.,  207752.,  209424.,
      211096.,  212768.,  214440.,  216112.,  217784.,  219456.,  221128.,
      222800.,  224472.,  226144.,  227816.,  229488.,  231160.,  232832.,
      238728.,  240656.,  242584.,  244512.,  246440.,  248368.,  250296.,
      252224.,  254152.,  256080.,  258008.,  259936.,  261864.,  263792.,
      265720.,  267648.,  269704.,  271888.,  274072.,  276256.,  278440.,
      280624.,  282808.,  284992.,  287176.,  289360.,  291544.,  293728.,
      295912.,  298096.,  300280.,  302464.,  300680.,  303120.,  305560.,
      308000.,  310440.,  312880.,  315320.,  317760.,  320200.,  322640.,
      325080.,  327520.,  329960.,  332400.,  334840.,  337280.,  331656.,
      334352.,  337048.,  339744.,  342440.,  345136.,  347832.,  350528.,
      353224.,  355920.,  358616.,  361312.,  364008.,  366704.,  369400.,
      372096.,  362632.,  365584.,  368536.,  371488.,  374440.,  377392.,
      380344.,  383296.,  386248.,  389200.,  392152.,  395104.,  398056.,
      401008.,  403960.,  406912.,  393608.,  396816.,  400024.,  403232.,
      406440.,  409648.,  412856.,  416064.,  419272.,  422480.,  425688.,
      428896.,  432104.,  435312.,  438520.,  441728.,  424584.,  428048.,
      431512.,  434976.,  438440.,  441904.,  445368.,  448832.,  452296.,
      455760.,  459224.,  462688.,  466152.,  469616.,  473080.,  476544.,
      455560.,  459280.,  463000.,  466720.,  470440.,  474160.,  477880.,
      481600.,  485320.,  489040.,  492760.,  496480.,  500200.,  503920.,
      507640.,  511360.,  1504392., 1508368., 1512344., 1516320., 1520296.,
      1524272., 1528248., 1532224., 1536200., 1540176., 1544152., 1548128.,
      1552104., 1556080., 1560056., 1564032., 1600904., 1605136., 1609368.,
      1613600., 1617832., 1622064., 1626296., 1630528., 1634760., 1638992.,
      1643224., 1647456., 1651688., 1655920., 1660152., 1664384., 1697416.,
      1701904., 1706392., 1710880., 1715368., 1719856., 1724344., 1728832.,
      1733320., 1737808., 1742296., 1746784., 1751272., 1755760., 1760248.,
      1764736., 1793928., 1798672., 1803416., 1808160., 1812904., 1817648.,
      1822392., 1827136., 1831880., 1836624., 1841368., 1846112., 1850856.,
      1855600., 1860344., 1865088., 1890440., 1895440., 1900440., 1905440.,
      1910440., 1915440., 1920440., 1925440., 1930440., 1935440., 1940440.,
      1945440., 1950440., 1955440., 1960440., 1965440., 1986952., 1992208.,
      1997464., 2002720., 2007976., 2013232., 2018488., 2023744., 2029000.,
      2034256., 2039512., 2044768., 2050024., 2055280., 2060536., 2065792.,
      2083464., 2088976., 2094488., 2100000., 2105512., 2111024., 2116536.,
      2122048., 2127560., 2133072., 2138584., 2144096., 2149608., 2155120.,
      2160632., 2166144., 2179976., 2185744., 2191512., 2197280., 2203048.,
      2208816., 2214584., 2220352., 2226120., 2231888., 2237656., 2243424.,
      2249192., 2254960., 2260728., 2266496., 2276488., 2282512., 2288536.,
      2294560., 2300584., 2306608., 2312632., 2318656., 2324680., 2330704.,
      2336728., 2342752., 2348776., 2354800., 2360824., 2366848., 2373000.,
      2379280., 2385560., 2391840., 2398120., 2404400., 2410680., 2416960.,
      2423240., 2429520., 2435800., 2442080., 2448360., 2454640., 2460920.,
      2467200., 2469512., 2476048., 2482584., 2489120., 2495656., 2502192.,
      2508728., 2515264., 2521800., 2528336., 2534872., 2541408., 2547944.,
      2554480., 2561016., 2567552., 2566024., 2572816., 2579608., 2586400.,
      2593192., 2599984., 2606776., 2613568., 2620360., 2627152., 2633944.,
      2640736., 2647528., 2654320., 2661112., 2667904., 2662536., 2669584.,
      2676632., 2683680., 2690728., 2697776., 2704824., 2711872., 2718920.,
      2725968., 2733016., 2740064., 2747112., 2754160., 2761208., 2768256.,
      2759048., 2766352., 2773656., 2780960., 2788264., 2795568., 2802872.,
      2810176., 2817480., 2824784., 2832088., 2839392., 2846696., 2854000.,
      2861304., 2868608., 2855560., 2863120., 2870680., 2878240., 2885800.,
      2893360., 2900920., 2908480., 2916040., 2923600., 2931160., 2938720.,
      2946280., 2953840., 2961400., 2968960., 4952968., 4960784., 4968600.,
      4976416., 4984232., 4992048., 4999864., 5007680., 5015496., 5023312.,
      5031128., 5038944., 5046760., 5054576., 5062392., 5070208., 5115016.,
      5123088., 5131160., 5139232., 5147304., 5155376., 5163448., 5171520.,
      5179592., 5187664., 5195736., 5203808., 5211880., 5219952., 5228024.,
      5236096., 5277064., 5285392., 5293720., 5302048., 5310376., 5318704.,
      5327032., 5335360., 5343688., 5352016., 5360344., 5368672., 5377000.,
      5385328., 5393656., 5401984., 5439112., 5447696., 5456280., 5464864.,
      5473448., 5482032., 5490616., 5499200., 5507784., 5516368., 5524952.,
      5533536., 5542120., 5550704., 5559288., 5567872., 5601160., 5610000.,
      5618840., 5627680., 5636520., 5645360., 5654200., 5663040., 5671880.,
      5680720., 5689560., 5698400., 5707240., 5716080., 5724920., 5733760.,
      5763208., 5772304., 5781400., 5790496., 5799592., 5808688., 5817784.,
      5826880., 5835976., 5845072., 5854168., 5863264., 5872360., 5881456.,
      5890552., 5899648., 5925256., 5934608., 5943960., 5953312., 5962664.,
      5972016., 5981368., 5990720., 6000072., 6009424., 6018776., 6028128.,
      6037480., 6046832., 6056184., 6065536., 6087304., 6096912., 6106520.,
      6116128., 6125736., 6135344., 6144952., 6154560., 6164168., 6173776.,
      6183384., 6192992., 6202600., 6212208., 6221816., 6231424., 6249352.,
      6259216., 6269080., 6278944., 6288808., 6298672., 6308536., 6318400.,
      6328264., 6338128., 6347992., 6357856., 6367720., 6377584., 6387448.,
      6397312., 6411400., 6421520., 6431640., 6441760., 6451880., 6462000.,
      6472120., 6482240., 6492360., 6502480., 6512600., 6522720., 6532840.,
      6542960., 6553080., 6563200., 6573448., 6583824., 6594200., 6604576.,
      6614952., 6625328., 6635704., 6646080., 6656456., 6666832., 6677208.,
      6687584., 6697960., 6708336., 6718712., 6729088., 6735496., 6746128.,
      6756760., 6767392., 6778024., 6788656., 6799288., 6809920., 6820552.,
      6831184., 6841816., 6852448., 6863080., 6873712., 6884344., 6894976.,
      6897544., 6908432., 6919320., 6930208., 6941096., 6951984., 6962872.,
      6973760., 6984648., 6995536., 7006424., 7017312., 7028200., 7039088.,
      7049976., 7060864., 7059592., 7070736., 7081880., 7093024., 7104168.,
      7115312., 7126456., 7137600., 7148744., 7159888., 7171032., 7182176.,
      7193320., 7204464., 7215608., 7226752., 7221640., 7233040., 7244440.,
      7255840., 7267240., 7278640., 7290040., 7301440., 7312840., 7324240.,
      7335640., 7347040., 7358440., 7369840., 7381240., 7392640.};
  const int batches = 3;
  const int m = 15;
  const int k = 16;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseFalse, M16xK14xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      12845.,   12950.,   13055.,   13160.,   13265.,   13370.,   13475.,
      13580.,   13685.,   13790.,   13895.,   14000.,   14105.,   14210.,
      30877.,   31178.,   31479.,   31780.,   32081.,   32382.,   32683.,
      32984.,   33285.,   33586.,   33887.,   34188.,   34489.,   34790.,
      48909.,   49406.,   49903.,   50400.,   50897.,   51394.,   51891.,
      52388.,   52885.,   53382.,   53879.,   54376.,   54873.,   55370.,
      66941.,   67634.,   68327.,   69020.,   69713.,   70406.,   71099.,
      71792.,   72485.,   73178.,   73871.,   74564.,   75257.,   75950.,
      84973.,   85862.,   86751.,   87640.,   88529.,   89418.,   90307.,
      91196.,   92085.,   92974.,   93863.,   94752.,   95641.,   96530.,
      103005.,  104090.,  105175.,  106260.,  107345.,  108430.,  109515.,
      110600.,  111685.,  112770.,  113855.,  114940.,  116025.,  117110.,
      121037.,  122318.,  123599.,  124880.,  126161.,  127442.,  128723.,
      130004.,  131285.,  132566.,  133847.,  135128.,  136409.,  137690.,
      139069.,  140546.,  142023.,  143500.,  144977.,  146454.,  147931.,
      149408.,  150885.,  152362.,  153839.,  155316.,  156793.,  158270.,
      157101.,  158774.,  160447.,  162120.,  163793.,  165466.,  167139.,
      168812.,  170485.,  172158.,  173831.,  175504.,  177177.,  178850.,
      175133.,  177002.,  178871.,  180740.,  182609.,  184478.,  186347.,
      188216.,  190085.,  191954.,  193823.,  195692.,  197561.,  199430.,
      193165.,  195230.,  197295.,  199360.,  201425.,  203490.,  205555.,
      207620.,  209685.,  211750.,  213815.,  215880.,  217945.,  220010.,
      211197.,  213458.,  215719.,  217980.,  220241.,  222502.,  224763.,
      227024.,  229285.,  231546.,  233807.,  236068.,  238329.,  240590.,
      229229.,  231686.,  234143.,  236600.,  239057.,  241514.,  243971.,
      246428.,  248885.,  251342.,  253799.,  256256.,  258713.,  261170.,
      247261.,  249914.,  252567.,  255220.,  257873.,  260526.,  263179.,
      265832.,  268485.,  271138.,  273791.,  276444.,  279097.,  281750.,
      265293.,  268142.,  270991.,  273840.,  276689.,  279538.,  282387.,
      285236.,  288085.,  290934.,  293783.,  296632.,  299481.,  302330.,
      283325.,  286370.,  289415.,  292460.,  295505.,  298550.,  301595.,
      304640.,  307685.,  310730.,  313775.,  316820.,  319865.,  322910.,
      936593.,  939834.,  943075.,  946316.,  949557.,  952798.,  956039.,
      959280.,  962521.,  965762.,  969003.,  972244.,  975485.,  978726.,
      993041.,  996478.,  999915.,  1003352., 1006789., 1010226., 1013663.,
      1017100., 1020537., 1023974., 1027411., 1030848., 1034285., 1037722.,
      1049489., 1053122., 1056755., 1060388., 1064021., 1067654., 1071287.,
      1074920., 1078553., 1082186., 1085819., 1089452., 1093085., 1096718.,
      1105937., 1109766., 1113595., 1117424., 1121253., 1125082., 1128911.,
      1132740., 1136569., 1140398., 1144227., 1148056., 1151885., 1155714.,
      1162385., 1166410., 1170435., 1174460., 1178485., 1182510., 1186535.,
      1190560., 1194585., 1198610., 1202635., 1206660., 1210685., 1214710.,
      1218833., 1223054., 1227275., 1231496., 1235717., 1239938., 1244159.,
      1248380., 1252601., 1256822., 1261043., 1265264., 1269485., 1273706.,
      1275281., 1279698., 1284115., 1288532., 1292949., 1297366., 1301783.,
      1306200., 1310617., 1315034., 1319451., 1323868., 1328285., 1332702.,
      1331729., 1336342., 1340955., 1345568., 1350181., 1354794., 1359407.,
      1364020., 1368633., 1373246., 1377859., 1382472., 1387085., 1391698.,
      1388177., 1392986., 1397795., 1402604., 1407413., 1412222., 1417031.,
      1421840., 1426649., 1431458., 1436267., 1441076., 1445885., 1450694.,
      1444625., 1449630., 1454635., 1459640., 1464645., 1469650., 1474655.,
      1479660., 1484665., 1489670., 1494675., 1499680., 1504685., 1509690.,
      1501073., 1506274., 1511475., 1516676., 1521877., 1527078., 1532279.,
      1537480., 1542681., 1547882., 1553083., 1558284., 1563485., 1568686.,
      1557521., 1562918., 1568315., 1573712., 1579109., 1584506., 1589903.,
      1595300., 1600697., 1606094., 1611491., 1616888., 1622285., 1627682.,
      1613969., 1619562., 1625155., 1630748., 1636341., 1641934., 1647527.,
      1653120., 1658713., 1664306., 1669899., 1675492., 1681085., 1686678.,
      1670417., 1676206., 1681995., 1687784., 1693573., 1699362., 1705151.,
      1710940., 1716729., 1722518., 1728307., 1734096., 1739885., 1745674.,
      1726865., 1732850., 1738835., 1744820., 1750805., 1756790., 1762775.,
      1768760., 1774745., 1780730., 1786715., 1792700., 1798685., 1804670.,
      1783313., 1789494., 1795675., 1801856., 1808037., 1814218., 1820399.,
      1826580., 1832761., 1838942., 1845123., 1851304., 1857485., 1863666.,
      3089653., 3096030., 3102407., 3108784., 3115161., 3121538., 3127915.,
      3134292., 3140669., 3147046., 3153423., 3159800., 3166177., 3172554.,
      3184517., 3191090., 3197663., 3204236., 3210809., 3217382., 3223955.,
      3230528., 3237101., 3243674., 3250247., 3256820., 3263393., 3269966.,
      3279381., 3286150., 3292919., 3299688., 3306457., 3313226., 3319995.,
      3326764., 3333533., 3340302., 3347071., 3353840., 3360609., 3367378.,
      3374245., 3381210., 3388175., 3395140., 3402105., 3409070., 3416035.,
      3423000., 3429965., 3436930., 3443895., 3450860., 3457825., 3464790.,
      3469109., 3476270., 3483431., 3490592., 3497753., 3504914., 3512075.,
      3519236., 3526397., 3533558., 3540719., 3547880., 3555041., 3562202.,
      3563973., 3571330., 3578687., 3586044., 3593401., 3600758., 3608115.,
      3615472., 3622829., 3630186., 3637543., 3644900., 3652257., 3659614.,
      3658837., 3666390., 3673943., 3681496., 3689049., 3696602., 3704155.,
      3711708., 3719261., 3726814., 3734367., 3741920., 3749473., 3757026.,
      3753701., 3761450., 3769199., 3776948., 3784697., 3792446., 3800195.,
      3807944., 3815693., 3823442., 3831191., 3838940., 3846689., 3854438.,
      3848565., 3856510., 3864455., 3872400., 3880345., 3888290., 3896235.,
      3904180., 3912125., 3920070., 3928015., 3935960., 3943905., 3951850.,
      3943429., 3951570., 3959711., 3967852., 3975993., 3984134., 3992275.,
      4000416., 4008557., 4016698., 4024839., 4032980., 4041121., 4049262.,
      4038293., 4046630., 4054967., 4063304., 4071641., 4079978., 4088315.,
      4096652., 4104989., 4113326., 4121663., 4130000., 4138337., 4146674.,
      4133157., 4141690., 4150223., 4158756., 4167289., 4175822., 4184355.,
      4192888., 4201421., 4209954., 4218487., 4227020., 4235553., 4244086.,
      4228021., 4236750., 4245479., 4254208., 4262937., 4271666., 4280395.,
      4289124., 4297853., 4306582., 4315311., 4324040., 4332769., 4341498.,
      4322885., 4331810., 4340735., 4349660., 4358585., 4367510., 4376435.,
      4385360., 4394285., 4403210., 4412135., 4421060., 4429985., 4438910.,
      4417749., 4426870., 4435991., 4445112., 4454233., 4463354., 4472475.,
      4481596., 4490717., 4499838., 4508959., 4518080., 4527201., 4536322.,
      4512613., 4521930., 4531247., 4540564., 4549881., 4559198., 4568515.,
      4577832., 4587149., 4596466., 4605783., 4615100., 4624417., 4633734.};
  const int batches = 3;
  const int m = 16;
  const int k = 14;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseFalse, M16xK14xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      13755.,   13860.,   13965.,   14070.,   14175.,   14280.,   14385.,
      14490.,   14595.,   14700.,   14805.,   14910.,   15015.,   15120.,
      15225.,   33061.,   33362.,   33663.,   33964.,   34265.,   34566.,
      34867.,   35168.,   35469.,   35770.,   36071.,   36372.,   36673.,
      36974.,   37275.,   52367.,   52864.,   53361.,   53858.,   54355.,
      54852.,   55349.,   55846.,   56343.,   56840.,   57337.,   57834.,
      58331.,   58828.,   59325.,   71673.,   72366.,   73059.,   73752.,
      74445.,   75138.,   75831.,   76524.,   77217.,   77910.,   78603.,
      79296.,   79989.,   80682.,   81375.,   90979.,   91868.,   92757.,
      93646.,   94535.,   95424.,   96313.,   97202.,   98091.,   98980.,
      99869.,   100758.,  101647.,  102536.,  103425.,  110285.,  111370.,
      112455.,  113540.,  114625.,  115710.,  116795.,  117880.,  118965.,
      120050.,  121135.,  122220.,  123305.,  124390.,  125475.,  129591.,
      130872.,  132153.,  133434.,  134715.,  135996.,  137277.,  138558.,
      139839.,  141120.,  142401.,  143682.,  144963.,  146244.,  147525.,
      148897.,  150374.,  151851.,  153328.,  154805.,  156282.,  157759.,
      159236.,  160713.,  162190.,  163667.,  165144.,  166621.,  168098.,
      169575.,  168203.,  169876.,  171549.,  173222.,  174895.,  176568.,
      178241.,  179914.,  181587.,  183260.,  184933.,  186606.,  188279.,
      189952.,  191625.,  187509.,  189378.,  191247.,  193116.,  194985.,
      196854.,  198723.,  200592.,  202461.,  204330.,  206199.,  208068.,
      209937.,  211806.,  213675.,  206815.,  208880.,  210945.,  213010.,
      215075.,  217140.,  219205.,  221270.,  223335.,  225400.,  227465.,
      229530.,  231595.,  233660.,  235725.,  226121.,  228382.,  230643.,
      232904.,  235165.,  237426.,  239687.,  241948.,  244209.,  246470.,
      248731.,  250992.,  253253.,  255514.,  257775.,  245427.,  247884.,
      250341.,  252798.,  255255.,  257712.,  260169.,  262626.,  265083.,
      267540.,  269997.,  272454.,  274911.,  277368.,  279825.,  264733.,
      267386.,  270039.,  272692.,  275345.,  277998.,  280651.,  283304.,
      285957.,  288610.,  291263.,  293916.,  296569.,  299222.,  301875.,
      284039.,  286888.,  289737.,  292586.,  295435.,  298284.,  301133.,
      303982.,  306831.,  309680.,  312529.,  315378.,  318227.,  321076.,
      323925.,  303345.,  306390.,  309435.,  312480.,  315525.,  318570.,
      321615.,  324660.,  327705.,  330750.,  333795.,  336840.,  339885.,
      342930.,  345975.,  1003261., 1006502., 1009743., 1012984., 1016225.,
      1019466., 1022707., 1025948., 1029189., 1032430., 1035671., 1038912.,
      1042153., 1045394., 1048635., 1063727., 1067164., 1070601., 1074038.,
      1077475., 1080912., 1084349., 1087786., 1091223., 1094660., 1098097.,
      1101534., 1104971., 1108408., 1111845., 1124193., 1127826., 1131459.,
      1135092., 1138725., 1142358., 1145991., 1149624., 1153257., 1156890.,
      1160523., 1164156., 1167789., 1171422., 1175055., 1184659., 1188488.,
      1192317., 1196146., 1199975., 1203804., 1207633., 1211462., 1215291.,
      1219120., 1222949., 1226778., 1230607., 1234436., 1238265., 1245125.,
      1249150., 1253175., 1257200., 1261225., 1265250., 1269275., 1273300.,
      1277325., 1281350., 1285375., 1289400., 1293425., 1297450., 1301475.,
      1305591., 1309812., 1314033., 1318254., 1322475., 1326696., 1330917.,
      1335138., 1339359., 1343580., 1347801., 1352022., 1356243., 1360464.,
      1364685., 1366057., 1370474., 1374891., 1379308., 1383725., 1388142.,
      1392559., 1396976., 1401393., 1405810., 1410227., 1414644., 1419061.,
      1423478., 1427895., 1426523., 1431136., 1435749., 1440362., 1444975.,
      1449588., 1454201., 1458814., 1463427., 1468040., 1472653., 1477266.,
      1481879., 1486492., 1491105., 1486989., 1491798., 1496607., 1501416.,
      1506225., 1511034., 1515843., 1520652., 1525461., 1530270., 1535079.,
      1539888., 1544697., 1549506., 1554315., 1547455., 1552460., 1557465.,
      1562470., 1567475., 1572480., 1577485., 1582490., 1587495., 1592500.,
      1597505., 1602510., 1607515., 1612520., 1617525., 1607921., 1613122.,
      1618323., 1623524., 1628725., 1633926., 1639127., 1644328., 1649529.,
      1654730., 1659931., 1665132., 1670333., 1675534., 1680735., 1668387.,
      1673784., 1679181., 1684578., 1689975., 1695372., 1700769., 1706166.,
      1711563., 1716960., 1722357., 1727754., 1733151., 1738548., 1743945.,
      1728853., 1734446., 1740039., 1745632., 1751225., 1756818., 1762411.,
      1768004., 1773597., 1779190., 1784783., 1790376., 1795969., 1801562.,
      1807155., 1789319., 1795108., 1800897., 1806686., 1812475., 1818264.,
      1824053., 1829842., 1835631., 1841420., 1847209., 1852998., 1858787.,
      1864576., 1870365., 1849785., 1855770., 1861755., 1867740., 1873725.,
      1879710., 1885695., 1891680., 1897665., 1903650., 1909635., 1915620.,
      1921605., 1927590., 1933575., 1910251., 1916432., 1922613., 1928794.,
      1934975., 1941156., 1947337., 1953518., 1959699., 1965880., 1972061.,
      1978242., 1984423., 1990604., 1996785., 3309887., 3316264., 3322641.,
      3329018., 3335395., 3341772., 3348149., 3354526., 3360903., 3367280.,
      3373657., 3380034., 3386411., 3392788., 3399165., 3411513., 3418086.,
      3424659., 3431232., 3437805., 3444378., 3450951., 3457524., 3464097.,
      3470670., 3477243., 3483816., 3490389., 3496962., 3503535., 3513139.,
      3519908., 3526677., 3533446., 3540215., 3546984., 3553753., 3560522.,
      3567291., 3574060., 3580829., 3587598., 3594367., 3601136., 3607905.,
      3614765., 3621730., 3628695., 3635660., 3642625., 3649590., 3656555.,
      3663520., 3670485., 3677450., 3684415., 3691380., 3698345., 3705310.,
      3712275., 3716391., 3723552., 3730713., 3737874., 3745035., 3752196.,
      3759357., 3766518., 3773679., 3780840., 3788001., 3795162., 3802323.,
      3809484., 3816645., 3818017., 3825374., 3832731., 3840088., 3847445.,
      3854802., 3862159., 3869516., 3876873., 3884230., 3891587., 3898944.,
      3906301., 3913658., 3921015., 3919643., 3927196., 3934749., 3942302.,
      3949855., 3957408., 3964961., 3972514., 3980067., 3987620., 3995173.,
      4002726., 4010279., 4017832., 4025385., 4021269., 4029018., 4036767.,
      4044516., 4052265., 4060014., 4067763., 4075512., 4083261., 4091010.,
      4098759., 4106508., 4114257., 4122006., 4129755., 4122895., 4130840.,
      4138785., 4146730., 4154675., 4162620., 4170565., 4178510., 4186455.,
      4194400., 4202345., 4210290., 4218235., 4226180., 4234125., 4224521.,
      4232662., 4240803., 4248944., 4257085., 4265226., 4273367., 4281508.,
      4289649., 4297790., 4305931., 4314072., 4322213., 4330354., 4338495.,
      4326147., 4334484., 4342821., 4351158., 4359495., 4367832., 4376169.,
      4384506., 4392843., 4401180., 4409517., 4417854., 4426191., 4434528.,
      4442865., 4427773., 4436306., 4444839., 4453372., 4461905., 4470438.,
      4478971., 4487504., 4496037., 4504570., 4513103., 4521636., 4530169.,
      4538702., 4547235., 4529399., 4538128., 4546857., 4555586., 4564315.,
      4573044., 4581773., 4590502., 4599231., 4607960., 4616689., 4625418.,
      4634147., 4642876., 4651605., 4631025., 4639950., 4648875., 4657800.,
      4666725., 4675650., 4684575., 4693500., 4702425., 4711350., 4720275.,
      4729200., 4738125., 4747050., 4755975., 4732651., 4741772., 4750893.,
      4760014., 4769135., 4778256., 4787377., 4796498., 4805619., 4814740.,
      4823861., 4832982., 4842103., 4851224., 4860345., 4834277., 4843594.,
      4852911., 4862228., 4871545., 4880862., 4890179., 4899496., 4908813.,
      4918130., 4927447., 4936764., 4946081., 4955398., 4964715.};
  const int batches = 3;
  const int m = 16;
  const int k = 14;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseFalse, M16xK14xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      14665.,   14770.,   14875.,   14980.,   15085.,   15190.,   15295.,
      15400.,   15505.,   15610.,   15715.,   15820.,   15925.,   16030.,
      16135.,   16240.,   35245.,   35546.,   35847.,   36148.,   36449.,
      36750.,   37051.,   37352.,   37653.,   37954.,   38255.,   38556.,
      38857.,   39158.,   39459.,   39760.,   55825.,   56322.,   56819.,
      57316.,   57813.,   58310.,   58807.,   59304.,   59801.,   60298.,
      60795.,   61292.,   61789.,   62286.,   62783.,   63280.,   76405.,
      77098.,   77791.,   78484.,   79177.,   79870.,   80563.,   81256.,
      81949.,   82642.,   83335.,   84028.,   84721.,   85414.,   86107.,
      86800.,   96985.,   97874.,   98763.,   99652.,   100541.,  101430.,
      102319.,  103208.,  104097.,  104986.,  105875.,  106764.,  107653.,
      108542.,  109431.,  110320.,  117565.,  118650.,  119735.,  120820.,
      121905.,  122990.,  124075.,  125160.,  126245.,  127330.,  128415.,
      129500.,  130585.,  131670.,  132755.,  133840.,  138145.,  139426.,
      140707.,  141988.,  143269.,  144550.,  145831.,  147112.,  148393.,
      149674.,  150955.,  152236.,  153517.,  154798.,  156079.,  157360.,
      158725.,  160202.,  161679.,  163156.,  164633.,  166110.,  167587.,
      169064.,  170541.,  172018.,  173495.,  174972.,  176449.,  177926.,
      179403.,  180880.,  179305.,  180978.,  182651.,  184324.,  185997.,
      187670.,  189343.,  191016.,  192689.,  194362.,  196035.,  197708.,
      199381.,  201054.,  202727.,  204400.,  199885.,  201754.,  203623.,
      205492.,  207361.,  209230.,  211099.,  212968.,  214837.,  216706.,
      218575.,  220444.,  222313.,  224182.,  226051.,  227920.,  220465.,
      222530.,  224595.,  226660.,  228725.,  230790.,  232855.,  234920.,
      236985.,  239050.,  241115.,  243180.,  245245.,  247310.,  249375.,
      251440.,  241045.,  243306.,  245567.,  247828.,  250089.,  252350.,
      254611.,  256872.,  259133.,  261394.,  263655.,  265916.,  268177.,
      270438.,  272699.,  274960.,  261625.,  264082.,  266539.,  268996.,
      271453.,  273910.,  276367.,  278824.,  281281.,  283738.,  286195.,
      288652.,  291109.,  293566.,  296023.,  298480.,  282205.,  284858.,
      287511.,  290164.,  292817.,  295470.,  298123.,  300776.,  303429.,
      306082.,  308735.,  311388.,  314041.,  316694.,  319347.,  322000.,
      302785.,  305634.,  308483.,  311332.,  314181.,  317030.,  319879.,
      322728.,  325577.,  328426.,  331275.,  334124.,  336973.,  339822.,
      342671.,  345520.,  323365.,  326410.,  329455.,  332500.,  335545.,
      338590.,  341635.,  344680.,  347725.,  350770.,  353815.,  356860.,
      359905.,  362950.,  365995.,  369040.,  1069929., 1073170., 1076411.,
      1079652., 1082893., 1086134., 1089375., 1092616., 1095857., 1099098.,
      1102339., 1105580., 1108821., 1112062., 1115303., 1118544., 1134413.,
      1137850., 1141287., 1144724., 1148161., 1151598., 1155035., 1158472.,
      1161909., 1165346., 1168783., 1172220., 1175657., 1179094., 1182531.,
      1185968., 1198897., 1202530., 1206163., 1209796., 1213429., 1217062.,
      1220695., 1224328., 1227961., 1231594., 1235227., 1238860., 1242493.,
      1246126., 1249759., 1253392., 1263381., 1267210., 1271039., 1274868.,
      1278697., 1282526., 1286355., 1290184., 1294013., 1297842., 1301671.,
      1305500., 1309329., 1313158., 1316987., 1320816., 1327865., 1331890.,
      1335915., 1339940., 1343965., 1347990., 1352015., 1356040., 1360065.,
      1364090., 1368115., 1372140., 1376165., 1380190., 1384215., 1388240.,
      1392349., 1396570., 1400791., 1405012., 1409233., 1413454., 1417675.,
      1421896., 1426117., 1430338., 1434559., 1438780., 1443001., 1447222.,
      1451443., 1455664., 1456833., 1461250., 1465667., 1470084., 1474501.,
      1478918., 1483335., 1487752., 1492169., 1496586., 1501003., 1505420.,
      1509837., 1514254., 1518671., 1523088., 1521317., 1525930., 1530543.,
      1535156., 1539769., 1544382., 1548995., 1553608., 1558221., 1562834.,
      1567447., 1572060., 1576673., 1581286., 1585899., 1590512., 1585801.,
      1590610., 1595419., 1600228., 1605037., 1609846., 1614655., 1619464.,
      1624273., 1629082., 1633891., 1638700., 1643509., 1648318., 1653127.,
      1657936., 1650285., 1655290., 1660295., 1665300., 1670305., 1675310.,
      1680315., 1685320., 1690325., 1695330., 1700335., 1705340., 1710345.,
      1715350., 1720355., 1725360., 1714769., 1719970., 1725171., 1730372.,
      1735573., 1740774., 1745975., 1751176., 1756377., 1761578., 1766779.,
      1771980., 1777181., 1782382., 1787583., 1792784., 1779253., 1784650.,
      1790047., 1795444., 1800841., 1806238., 1811635., 1817032., 1822429.,
      1827826., 1833223., 1838620., 1844017., 1849414., 1854811., 1860208.,
      1843737., 1849330., 1854923., 1860516., 1866109., 1871702., 1877295.,
      1882888., 1888481., 1894074., 1899667., 1905260., 1910853., 1916446.,
      1922039., 1927632., 1908221., 1914010., 1919799., 1925588., 1931377.,
      1937166., 1942955., 1948744., 1954533., 1960322., 1966111., 1971900.,
      1977689., 1983478., 1989267., 1995056., 1972705., 1978690., 1984675.,
      1990660., 1996645., 2002630., 2008615., 2014600., 2020585., 2026570.,
      2032555., 2038540., 2044525., 2050510., 2056495., 2062480., 2037189.,
      2043370., 2049551., 2055732., 2061913., 2068094., 2074275., 2080456.,
      2086637., 2092818., 2098999., 2105180., 2111361., 2117542., 2123723.,
      2129904., 3530121., 3536498., 3542875., 3549252., 3555629., 3562006.,
      3568383., 3574760., 3581137., 3587514., 3593891., 3600268., 3606645.,
      3613022., 3619399., 3625776., 3638509., 3645082., 3651655., 3658228.,
      3664801., 3671374., 3677947., 3684520., 3691093., 3697666., 3704239.,
      3710812., 3717385., 3723958., 3730531., 3737104., 3746897., 3753666.,
      3760435., 3767204., 3773973., 3780742., 3787511., 3794280., 3801049.,
      3807818., 3814587., 3821356., 3828125., 3834894., 3841663., 3848432.,
      3855285., 3862250., 3869215., 3876180., 3883145., 3890110., 3897075.,
      3904040., 3911005., 3917970., 3924935., 3931900., 3938865., 3945830.,
      3952795., 3959760., 3963673., 3970834., 3977995., 3985156., 3992317.,
      3999478., 4006639., 4013800., 4020961., 4028122., 4035283., 4042444.,
      4049605., 4056766., 4063927., 4071088., 4072061., 4079418., 4086775.,
      4094132., 4101489., 4108846., 4116203., 4123560., 4130917., 4138274.,
      4145631., 4152988., 4160345., 4167702., 4175059., 4182416., 4180449.,
      4188002., 4195555., 4203108., 4210661., 4218214., 4225767., 4233320.,
      4240873., 4248426., 4255979., 4263532., 4271085., 4278638., 4286191.,
      4293744., 4288837., 4296586., 4304335., 4312084., 4319833., 4327582.,
      4335331., 4343080., 4350829., 4358578., 4366327., 4374076., 4381825.,
      4389574., 4397323., 4405072., 4397225., 4405170., 4413115., 4421060.,
      4429005., 4436950., 4444895., 4452840., 4460785., 4468730., 4476675.,
      4484620., 4492565., 4500510., 4508455., 4516400., 4505613., 4513754.,
      4521895., 4530036., 4538177., 4546318., 4554459., 4562600., 4570741.,
      4578882., 4587023., 4595164., 4603305., 4611446., 4619587., 4627728.,
      4614001., 4622338., 4630675., 4639012., 4647349., 4655686., 4664023.,
      4672360., 4680697., 4689034., 4697371., 4705708., 4714045., 4722382.,
      4730719., 4739056., 4722389., 4730922., 4739455., 4747988., 4756521.,
      4765054., 4773587., 4782120., 4790653., 4799186., 4807719., 4816252.,
      4824785., 4833318., 4841851., 4850384., 4830777., 4839506., 4848235.,
      4856964., 4865693., 4874422., 4883151., 4891880., 4900609., 4909338.,
      4918067., 4926796., 4935525., 4944254., 4952983., 4961712., 4939165.,
      4948090., 4957015., 4965940., 4974865., 4983790., 4992715., 5001640.,
      5010565., 5019490., 5028415., 5037340., 5046265., 5055190., 5064115.,
      5073040., 5047553., 5056674., 5065795., 5074916., 5084037., 5093158.,
      5102279., 5111400., 5120521., 5129642., 5138763., 5147884., 5157005.,
      5166126., 5175247., 5184368., 5155941., 5165258., 5174575., 5183892.,
      5193209., 5202526., 5211843., 5221160., 5230477., 5239794., 5249111.,
      5258428., 5267745., 5277062., 5286379., 5295696.};
  const int batches = 3;
  const int m = 16;
  const int k = 14;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseFalse, M16xK15xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      15800.,   15920.,   16040.,   16160.,   16280.,   16400.,   16520.,
      16640.,   16760.,   16880.,   17000.,   17120.,   17240.,   17360.,
      38075.,   38420.,   38765.,   39110.,   39455.,   39800.,   40145.,
      40490.,   40835.,   41180.,   41525.,   41870.,   42215.,   42560.,
      60350.,   60920.,   61490.,   62060.,   62630.,   63200.,   63770.,
      64340.,   64910.,   65480.,   66050.,   66620.,   67190.,   67760.,
      82625.,   83420.,   84215.,   85010.,   85805.,   86600.,   87395.,
      88190.,   88985.,   89780.,   90575.,   91370.,   92165.,   92960.,
      104900.,  105920.,  106940.,  107960.,  108980.,  110000.,  111020.,
      112040.,  113060.,  114080.,  115100.,  116120.,  117140.,  118160.,
      127175.,  128420.,  129665.,  130910.,  132155.,  133400.,  134645.,
      135890.,  137135.,  138380.,  139625.,  140870.,  142115.,  143360.,
      149450.,  150920.,  152390.,  153860.,  155330.,  156800.,  158270.,
      159740.,  161210.,  162680.,  164150.,  165620.,  167090.,  168560.,
      171725.,  173420.,  175115.,  176810.,  178505.,  180200.,  181895.,
      183590.,  185285.,  186980.,  188675.,  190370.,  192065.,  193760.,
      194000.,  195920.,  197840.,  199760.,  201680.,  203600.,  205520.,
      207440.,  209360.,  211280.,  213200.,  215120.,  217040.,  218960.,
      216275.,  218420.,  220565.,  222710.,  224855.,  227000.,  229145.,
      231290.,  233435.,  235580.,  237725.,  239870.,  242015.,  244160.,
      238550.,  240920.,  243290.,  245660.,  248030.,  250400.,  252770.,
      255140.,  257510.,  259880.,  262250.,  264620.,  266990.,  269360.,
      260825.,  263420.,  266015.,  268610.,  271205.,  273800.,  276395.,
      278990.,  281585.,  284180.,  286775.,  289370.,  291965.,  294560.,
      283100.,  285920.,  288740.,  291560.,  294380.,  297200.,  300020.,
      302840.,  305660.,  308480.,  311300.,  314120.,  316940.,  319760.,
      305375.,  308420.,  311465.,  314510.,  317555.,  320600.,  323645.,
      326690.,  329735.,  332780.,  335825.,  338870.,  341915.,  344960.,
      327650.,  330920.,  334190.,  337460.,  340730.,  344000.,  347270.,
      350540.,  353810.,  357080.,  360350.,  363620.,  366890.,  370160.,
      349925.,  353420.,  356915.,  360410.,  363905.,  367400.,  370895.,
      374390.,  377885.,  381380.,  384875.,  388370.,  391865.,  395360.,
      1153400., 1157120., 1160840., 1164560., 1168280., 1172000., 1175720.,
      1179440., 1183160., 1186880., 1190600., 1194320., 1198040., 1201760.,
      1222925., 1226870., 1230815., 1234760., 1238705., 1242650., 1246595.,
      1250540., 1254485., 1258430., 1262375., 1266320., 1270265., 1274210.,
      1292450., 1296620., 1300790., 1304960., 1309130., 1313300., 1317470.,
      1321640., 1325810., 1329980., 1334150., 1338320., 1342490., 1346660.,
      1361975., 1366370., 1370765., 1375160., 1379555., 1383950., 1388345.,
      1392740., 1397135., 1401530., 1405925., 1410320., 1414715., 1419110.,
      1431500., 1436120., 1440740., 1445360., 1449980., 1454600., 1459220.,
      1463840., 1468460., 1473080., 1477700., 1482320., 1486940., 1491560.,
      1501025., 1505870., 1510715., 1515560., 1520405., 1525250., 1530095.,
      1534940., 1539785., 1544630., 1549475., 1554320., 1559165., 1564010.,
      1570550., 1575620., 1580690., 1585760., 1590830., 1595900., 1600970.,
      1606040., 1611110., 1616180., 1621250., 1626320., 1631390., 1636460.,
      1640075., 1645370., 1650665., 1655960., 1661255., 1666550., 1671845.,
      1677140., 1682435., 1687730., 1693025., 1698320., 1703615., 1708910.,
      1709600., 1715120., 1720640., 1726160., 1731680., 1737200., 1742720.,
      1748240., 1753760., 1759280., 1764800., 1770320., 1775840., 1781360.,
      1779125., 1784870., 1790615., 1796360., 1802105., 1807850., 1813595.,
      1819340., 1825085., 1830830., 1836575., 1842320., 1848065., 1853810.,
      1848650., 1854620., 1860590., 1866560., 1872530., 1878500., 1884470.,
      1890440., 1896410., 1902380., 1908350., 1914320., 1920290., 1926260.,
      1918175., 1924370., 1930565., 1936760., 1942955., 1949150., 1955345.,
      1961540., 1967735., 1973930., 1980125., 1986320., 1992515., 1998710.,
      1987700., 1994120., 2000540., 2006960., 2013380., 2019800., 2026220.,
      2032640., 2039060., 2045480., 2051900., 2058320., 2064740., 2071160.,
      2057225., 2063870., 2070515., 2077160., 2083805., 2090450., 2097095.,
      2103740., 2110385., 2117030., 2123675., 2130320., 2136965., 2143610.,
      2126750., 2133620., 2140490., 2147360., 2154230., 2161100., 2167970.,
      2174840., 2181710., 2188580., 2195450., 2202320., 2209190., 2216060.,
      2196275., 2203370., 2210465., 2217560., 2224655., 2231750., 2238845.,
      2245940., 2253035., 2260130., 2267225., 2274320., 2281415., 2288510.,
      3803000., 3810320., 3817640., 3824960., 3832280., 3839600., 3846920.,
      3854240., 3861560., 3868880., 3876200., 3883520., 3890840., 3898160.,
      3919775., 3927320., 3934865., 3942410., 3949955., 3957500., 3965045.,
      3972590., 3980135., 3987680., 3995225., 4002770., 4010315., 4017860.,
      4036550., 4044320., 4052090., 4059860., 4067630., 4075400., 4083170.,
      4090940., 4098710., 4106480., 4114250., 4122020., 4129790., 4137560.,
      4153325., 4161320., 4169315., 4177310., 4185305., 4193300., 4201295.,
      4209290., 4217285., 4225280., 4233275., 4241270., 4249265., 4257260.,
      4270100., 4278320., 4286540., 4294760., 4302980., 4311200., 4319420.,
      4327640., 4335860., 4344080., 4352300., 4360520., 4368740., 4376960.,
      4386875., 4395320., 4403765., 4412210., 4420655., 4429100., 4437545.,
      4445990., 4454435., 4462880., 4471325., 4479770., 4488215., 4496660.,
      4503650., 4512320., 4520990., 4529660., 4538330., 4547000., 4555670.,
      4564340., 4573010., 4581680., 4590350., 4599020., 4607690., 4616360.,
      4620425., 4629320., 4638215., 4647110., 4656005., 4664900., 4673795.,
      4682690., 4691585., 4700480., 4709375., 4718270., 4727165., 4736060.,
      4737200., 4746320., 4755440., 4764560., 4773680., 4782800., 4791920.,
      4801040., 4810160., 4819280., 4828400., 4837520., 4846640., 4855760.,
      4853975., 4863320., 4872665., 4882010., 4891355., 4900700., 4910045.,
      4919390., 4928735., 4938080., 4947425., 4956770., 4966115., 4975460.,
      4970750., 4980320., 4989890., 4999460., 5009030., 5018600., 5028170.,
      5037740., 5047310., 5056880., 5066450., 5076020., 5085590., 5095160.,
      5087525., 5097320., 5107115., 5116910., 5126705., 5136500., 5146295.,
      5156090., 5165885., 5175680., 5185475., 5195270., 5205065., 5214860.,
      5204300., 5214320., 5224340., 5234360., 5244380., 5254400., 5264420.,
      5274440., 5284460., 5294480., 5304500., 5314520., 5324540., 5334560.,
      5321075., 5331320., 5341565., 5351810., 5362055., 5372300., 5382545.,
      5392790., 5403035., 5413280., 5423525., 5433770., 5444015., 5454260.,
      5437850., 5448320., 5458790., 5469260., 5479730., 5490200., 5500670.,
      5511140., 5521610., 5532080., 5542550., 5553020., 5563490., 5573960.,
      5554625., 5565320., 5576015., 5586710., 5597405., 5608100., 5618795.,
      5629490., 5640185., 5650880., 5661575., 5672270., 5682965., 5693660.};
  const int batches = 3;
  const int m = 16;
  const int k = 15;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseFalse, M16xK15xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      16920.,   17040.,   17160.,   17280.,   17400.,   17520.,   17640.,
      17760.,   17880.,   18000.,   18120.,   18240.,   18360.,   18480.,
      18600.,   40770.,   41115.,   41460.,   41805.,   42150.,   42495.,
      42840.,   43185.,   43530.,   43875.,   44220.,   44565.,   44910.,
      45255.,   45600.,   64620.,   65190.,   65760.,   66330.,   66900.,
      67470.,   68040.,   68610.,   69180.,   69750.,   70320.,   70890.,
      71460.,   72030.,   72600.,   88470.,   89265.,   90060.,   90855.,
      91650.,   92445.,   93240.,   94035.,   94830.,   95625.,   96420.,
      97215.,   98010.,   98805.,   99600.,   112320.,  113340.,  114360.,
      115380.,  116400.,  117420.,  118440.,  119460.,  120480.,  121500.,
      122520.,  123540.,  124560.,  125580.,  126600.,  136170.,  137415.,
      138660.,  139905.,  141150.,  142395.,  143640.,  144885.,  146130.,
      147375.,  148620.,  149865.,  151110.,  152355.,  153600.,  160020.,
      161490.,  162960.,  164430.,  165900.,  167370.,  168840.,  170310.,
      171780.,  173250.,  174720.,  176190.,  177660.,  179130.,  180600.,
      183870.,  185565.,  187260.,  188955.,  190650.,  192345.,  194040.,
      195735.,  197430.,  199125.,  200820.,  202515.,  204210.,  205905.,
      207600.,  207720.,  209640.,  211560.,  213480.,  215400.,  217320.,
      219240.,  221160.,  223080.,  225000.,  226920.,  228840.,  230760.,
      232680.,  234600.,  231570.,  233715.,  235860.,  238005.,  240150.,
      242295.,  244440.,  246585.,  248730.,  250875.,  253020.,  255165.,
      257310.,  259455.,  261600.,  255420.,  257790.,  260160.,  262530.,
      264900.,  267270.,  269640.,  272010.,  274380.,  276750.,  279120.,
      281490.,  283860.,  286230.,  288600.,  279270.,  281865.,  284460.,
      287055.,  289650.,  292245.,  294840.,  297435.,  300030.,  302625.,
      305220.,  307815.,  310410.,  313005.,  315600.,  303120.,  305940.,
      308760.,  311580.,  314400.,  317220.,  320040.,  322860.,  325680.,
      328500.,  331320.,  334140.,  336960.,  339780.,  342600.,  326970.,
      330015.,  333060.,  336105.,  339150.,  342195.,  345240.,  348285.,
      351330.,  354375.,  357420.,  360465.,  363510.,  366555.,  369600.,
      350820.,  354090.,  357360.,  360630.,  363900.,  367170.,  370440.,
      373710.,  376980.,  380250.,  383520.,  386790.,  390060.,  393330.,
      396600.,  374670.,  378165.,  381660.,  385155.,  388650.,  392145.,
      395640.,  399135.,  402630.,  406125.,  409620.,  413115.,  416610.,
      420105.,  423600.,  1235520., 1239240., 1242960., 1246680., 1250400.,
      1254120., 1257840., 1261560., 1265280., 1269000., 1272720., 1276440.,
      1280160., 1283880., 1287600., 1309995., 1313940., 1317885., 1321830.,
      1325775., 1329720., 1333665., 1337610., 1341555., 1345500., 1349445.,
      1353390., 1357335., 1361280., 1365225., 1384470., 1388640., 1392810.,
      1396980., 1401150., 1405320., 1409490., 1413660., 1417830., 1422000.,
      1426170., 1430340., 1434510., 1438680., 1442850., 1458945., 1463340.,
      1467735., 1472130., 1476525., 1480920., 1485315., 1489710., 1494105.,
      1498500., 1502895., 1507290., 1511685., 1516080., 1520475., 1533420.,
      1538040., 1542660., 1547280., 1551900., 1556520., 1561140., 1565760.,
      1570380., 1575000., 1579620., 1584240., 1588860., 1593480., 1598100.,
      1607895., 1612740., 1617585., 1622430., 1627275., 1632120., 1636965.,
      1641810., 1646655., 1651500., 1656345., 1661190., 1666035., 1670880.,
      1675725., 1682370., 1687440., 1692510., 1697580., 1702650., 1707720.,
      1712790., 1717860., 1722930., 1728000., 1733070., 1738140., 1743210.,
      1748280., 1753350., 1756845., 1762140., 1767435., 1772730., 1778025.,
      1783320., 1788615., 1793910., 1799205., 1804500., 1809795., 1815090.,
      1820385., 1825680., 1830975., 1831320., 1836840., 1842360., 1847880.,
      1853400., 1858920., 1864440., 1869960., 1875480., 1881000., 1886520.,
      1892040., 1897560., 1903080., 1908600., 1905795., 1911540., 1917285.,
      1923030., 1928775., 1934520., 1940265., 1946010., 1951755., 1957500.,
      1963245., 1968990., 1974735., 1980480., 1986225., 1980270., 1986240.,
      1992210., 1998180., 2004150., 2010120., 2016090., 2022060., 2028030.,
      2034000., 2039970., 2045940., 2051910., 2057880., 2063850., 2054745.,
      2060940., 2067135., 2073330., 2079525., 2085720., 2091915., 2098110.,
      2104305., 2110500., 2116695., 2122890., 2129085., 2135280., 2141475.,
      2129220., 2135640., 2142060., 2148480., 2154900., 2161320., 2167740.,
      2174160., 2180580., 2187000., 2193420., 2199840., 2206260., 2212680.,
      2219100., 2203695., 2210340., 2216985., 2223630., 2230275., 2236920.,
      2243565., 2250210., 2256855., 2263500., 2270145., 2276790., 2283435.,
      2290080., 2296725., 2278170., 2285040., 2291910., 2298780., 2305650.,
      2312520., 2319390., 2326260., 2333130., 2340000., 2346870., 2353740.,
      2360610., 2367480., 2374350., 2352645., 2359740., 2366835., 2373930.,
      2381025., 2388120., 2395215., 2402310., 2409405., 2416500., 2423595.,
      2430690., 2437785., 2444880., 2451975., 4074120., 4081440., 4088760.,
      4096080., 4103400., 4110720., 4118040., 4125360., 4132680., 4140000.,
      4147320., 4154640., 4161960., 4169280., 4176600., 4199220., 4206765.,
      4214310., 4221855., 4229400., 4236945., 4244490., 4252035., 4259580.,
      4267125., 4274670., 4282215., 4289760., 4297305., 4304850., 4324320.,
      4332090., 4339860., 4347630., 4355400., 4363170., 4370940., 4378710.,
      4386480., 4394250., 4402020., 4409790., 4417560., 4425330., 4433100.,
      4449420., 4457415., 4465410., 4473405., 4481400., 4489395., 4497390.,
      4505385., 4513380., 4521375., 4529370., 4537365., 4545360., 4553355.,
      4561350., 4574520., 4582740., 4590960., 4599180., 4607400., 4615620.,
      4623840., 4632060., 4640280., 4648500., 4656720., 4664940., 4673160.,
      4681380., 4689600., 4699620., 4708065., 4716510., 4724955., 4733400.,
      4741845., 4750290., 4758735., 4767180., 4775625., 4784070., 4792515.,
      4800960., 4809405., 4817850., 4824720., 4833390., 4842060., 4850730.,
      4859400., 4868070., 4876740., 4885410., 4894080., 4902750., 4911420.,
      4920090., 4928760., 4937430., 4946100., 4949820., 4958715., 4967610.,
      4976505., 4985400., 4994295., 5003190., 5012085., 5020980., 5029875.,
      5038770., 5047665., 5056560., 5065455., 5074350., 5074920., 5084040.,
      5093160., 5102280., 5111400., 5120520., 5129640., 5138760., 5147880.,
      5157000., 5166120., 5175240., 5184360., 5193480., 5202600., 5200020.,
      5209365., 5218710., 5228055., 5237400., 5246745., 5256090., 5265435.,
      5274780., 5284125., 5293470., 5302815., 5312160., 5321505., 5330850.,
      5325120., 5334690., 5344260., 5353830., 5363400., 5372970., 5382540.,
      5392110., 5401680., 5411250., 5420820., 5430390., 5439960., 5449530.,
      5459100., 5450220., 5460015., 5469810., 5479605., 5489400., 5499195.,
      5508990., 5518785., 5528580., 5538375., 5548170., 5557965., 5567760.,
      5577555., 5587350., 5575320., 5585340., 5595360., 5605380., 5615400.,
      5625420., 5635440., 5645460., 5655480., 5665500., 5675520., 5685540.,
      5695560., 5705580., 5715600., 5700420., 5710665., 5720910., 5731155.,
      5741400., 5751645., 5761890., 5772135., 5782380., 5792625., 5802870.,
      5813115., 5823360., 5833605., 5843850., 5825520., 5835990., 5846460.,
      5856930., 5867400., 5877870., 5888340., 5898810., 5909280., 5919750.,
      5930220., 5940690., 5951160., 5961630., 5972100., 5950620., 5961315.,
      5972010., 5982705., 5993400., 6004095., 6014790., 6025485., 6036180.,
      6046875., 6057570., 6068265., 6078960., 6089655., 6100350.};
  const int batches = 3;
  const int m = 16;
  const int k = 15;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseFalse, M16xK15xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      18040.,   18160.,   18280.,   18400.,   18520.,   18640.,   18760.,
      18880.,   19000.,   19120.,   19240.,   19360.,   19480.,   19600.,
      19720.,   19840.,   43465.,   43810.,   44155.,   44500.,   44845.,
      45190.,   45535.,   45880.,   46225.,   46570.,   46915.,   47260.,
      47605.,   47950.,   48295.,   48640.,   68890.,   69460.,   70030.,
      70600.,   71170.,   71740.,   72310.,   72880.,   73450.,   74020.,
      74590.,   75160.,   75730.,   76300.,   76870.,   77440.,   94315.,
      95110.,   95905.,   96700.,   97495.,   98290.,   99085.,   99880.,
      100675.,  101470.,  102265.,  103060.,  103855.,  104650.,  105445.,
      106240.,  119740.,  120760.,  121780.,  122800.,  123820.,  124840.,
      125860.,  126880.,  127900.,  128920.,  129940.,  130960.,  131980.,
      133000.,  134020.,  135040.,  145165.,  146410.,  147655.,  148900.,
      150145.,  151390.,  152635.,  153880.,  155125.,  156370.,  157615.,
      158860.,  160105.,  161350.,  162595.,  163840.,  170590.,  172060.,
      173530.,  175000.,  176470.,  177940.,  179410.,  180880.,  182350.,
      183820.,  185290.,  186760.,  188230.,  189700.,  191170.,  192640.,
      196015.,  197710.,  199405.,  201100.,  202795.,  204490.,  206185.,
      207880.,  209575.,  211270.,  212965.,  214660.,  216355.,  218050.,
      219745.,  221440.,  221440.,  223360.,  225280.,  227200.,  229120.,
      231040.,  232960.,  234880.,  236800.,  238720.,  240640.,  242560.,
      244480.,  246400.,  248320.,  250240.,  246865.,  249010.,  251155.,
      253300.,  255445.,  257590.,  259735.,  261880.,  264025.,  266170.,
      268315.,  270460.,  272605.,  274750.,  276895.,  279040.,  272290.,
      274660.,  277030.,  279400.,  281770.,  284140.,  286510.,  288880.,
      291250.,  293620.,  295990.,  298360.,  300730.,  303100.,  305470.,
      307840.,  297715.,  300310.,  302905.,  305500.,  308095.,  310690.,
      313285.,  315880.,  318475.,  321070.,  323665.,  326260.,  328855.,
      331450.,  334045.,  336640.,  323140.,  325960.,  328780.,  331600.,
      334420.,  337240.,  340060.,  342880.,  345700.,  348520.,  351340.,
      354160.,  356980.,  359800.,  362620.,  365440.,  348565.,  351610.,
      354655.,  357700.,  360745.,  363790.,  366835.,  369880.,  372925.,
      375970.,  379015.,  382060.,  385105.,  388150.,  391195.,  394240.,
      373990.,  377260.,  380530.,  383800.,  387070.,  390340.,  393610.,
      396880.,  400150.,  403420.,  406690.,  409960.,  413230.,  416500.,
      419770.,  423040.,  399415.,  402910.,  406405.,  409900.,  413395.,
      416890.,  420385.,  423880.,  427375.,  430870.,  434365.,  437860.,
      441355.,  444850.,  448345.,  451840.,  1317640., 1321360., 1325080.,
      1328800., 1332520., 1336240., 1339960., 1343680., 1347400., 1351120.,
      1354840., 1358560., 1362280., 1366000., 1369720., 1373440., 1397065.,
      1401010., 1404955., 1408900., 1412845., 1416790., 1420735., 1424680.,
      1428625., 1432570., 1436515., 1440460., 1444405., 1448350., 1452295.,
      1456240., 1476490., 1480660., 1484830., 1489000., 1493170., 1497340.,
      1501510., 1505680., 1509850., 1514020., 1518190., 1522360., 1526530.,
      1530700., 1534870., 1539040., 1555915., 1560310., 1564705., 1569100.,
      1573495., 1577890., 1582285., 1586680., 1591075., 1595470., 1599865.,
      1604260., 1608655., 1613050., 1617445., 1621840., 1635340., 1639960.,
      1644580., 1649200., 1653820., 1658440., 1663060., 1667680., 1672300.,
      1676920., 1681540., 1686160., 1690780., 1695400., 1700020., 1704640.,
      1714765., 1719610., 1724455., 1729300., 1734145., 1738990., 1743835.,
      1748680., 1753525., 1758370., 1763215., 1768060., 1772905., 1777750.,
      1782595., 1787440., 1794190., 1799260., 1804330., 1809400., 1814470.,
      1819540., 1824610., 1829680., 1834750., 1839820., 1844890., 1849960.,
      1855030., 1860100., 1865170., 1870240., 1873615., 1878910., 1884205.,
      1889500., 1894795., 1900090., 1905385., 1910680., 1915975., 1921270.,
      1926565., 1931860., 1937155., 1942450., 1947745., 1953040., 1953040.,
      1958560., 1964080., 1969600., 1975120., 1980640., 1986160., 1991680.,
      1997200., 2002720., 2008240., 2013760., 2019280., 2024800., 2030320.,
      2035840., 2032465., 2038210., 2043955., 2049700., 2055445., 2061190.,
      2066935., 2072680., 2078425., 2084170., 2089915., 2095660., 2101405.,
      2107150., 2112895., 2118640., 2111890., 2117860., 2123830., 2129800.,
      2135770., 2141740., 2147710., 2153680., 2159650., 2165620., 2171590.,
      2177560., 2183530., 2189500., 2195470., 2201440., 2191315., 2197510.,
      2203705., 2209900., 2216095., 2222290., 2228485., 2234680., 2240875.,
      2247070., 2253265., 2259460., 2265655., 2271850., 2278045., 2284240.,
      2270740., 2277160., 2283580., 2290000., 2296420., 2302840., 2309260.,
      2315680., 2322100., 2328520., 2334940., 2341360., 2347780., 2354200.,
      2360620., 2367040., 2350165., 2356810., 2363455., 2370100., 2376745.,
      2383390., 2390035., 2396680., 2403325., 2409970., 2416615., 2423260.,
      2429905., 2436550., 2443195., 2449840., 2429590., 2436460., 2443330.,
      2450200., 2457070., 2463940., 2470810., 2477680., 2484550., 2491420.,
      2498290., 2505160., 2512030., 2518900., 2525770., 2532640., 2509015.,
      2516110., 2523205., 2530300., 2537395., 2544490., 2551585., 2558680.,
      2565775., 2572870., 2579965., 2587060., 2594155., 2601250., 2608345.,
      2615440., 4345240., 4352560., 4359880., 4367200., 4374520., 4381840.,
      4389160., 4396480., 4403800., 4411120., 4418440., 4425760., 4433080.,
      4440400., 4447720., 4455040., 4478665., 4486210., 4493755., 4501300.,
      4508845., 4516390., 4523935., 4531480., 4539025., 4546570., 4554115.,
      4561660., 4569205., 4576750., 4584295., 4591840., 4612090., 4619860.,
      4627630., 4635400., 4643170., 4650940., 4658710., 4666480., 4674250.,
      4682020., 4689790., 4697560., 4705330., 4713100., 4720870., 4728640.,
      4745515., 4753510., 4761505., 4769500., 4777495., 4785490., 4793485.,
      4801480., 4809475., 4817470., 4825465., 4833460., 4841455., 4849450.,
      4857445., 4865440., 4878940., 4887160., 4895380., 4903600., 4911820.,
      4920040., 4928260., 4936480., 4944700., 4952920., 4961140., 4969360.,
      4977580., 4985800., 4994020., 5002240., 5012365., 5020810., 5029255.,
      5037700., 5046145., 5054590., 5063035., 5071480., 5079925., 5088370.,
      5096815., 5105260., 5113705., 5122150., 5130595., 5139040., 5145790.,
      5154460., 5163130., 5171800., 5180470., 5189140., 5197810., 5206480.,
      5215150., 5223820., 5232490., 5241160., 5249830., 5258500., 5267170.,
      5275840., 5279215., 5288110., 5297005., 5305900., 5314795., 5323690.,
      5332585., 5341480., 5350375., 5359270., 5368165., 5377060., 5385955.,
      5394850., 5403745., 5412640., 5412640., 5421760., 5430880., 5440000.,
      5449120., 5458240., 5467360., 5476480., 5485600., 5494720., 5503840.,
      5512960., 5522080., 5531200., 5540320., 5549440., 5546065., 5555410.,
      5564755., 5574100., 5583445., 5592790., 5602135., 5611480., 5620825.,
      5630170., 5639515., 5648860., 5658205., 5667550., 5676895., 5686240.,
      5679490., 5689060., 5698630., 5708200., 5717770., 5727340., 5736910.,
      5746480., 5756050., 5765620., 5775190., 5784760., 5794330., 5803900.,
      5813470., 5823040., 5812915., 5822710., 5832505., 5842300., 5852095.,
      5861890., 5871685., 5881480., 5891275., 5901070., 5910865., 5920660.,
      5930455., 5940250., 5950045., 5959840., 5946340., 5956360., 5966380.,
      5976400., 5986420., 5996440., 6006460., 6016480., 6026500., 6036520.,
      6046540., 6056560., 6066580., 6076600., 6086620., 6096640., 6079765.,
      6090010., 6100255., 6110500., 6120745., 6130990., 6141235., 6151480.,
      6161725., 6171970., 6182215., 6192460., 6202705., 6212950., 6223195.,
      6233440., 6213190., 6223660., 6234130., 6244600., 6255070., 6265540.,
      6276010., 6286480., 6296950., 6307420., 6317890., 6328360., 6338830.,
      6349300., 6359770., 6370240., 6346615., 6357310., 6368005., 6378700.,
      6389395., 6400090., 6410785., 6421480., 6432175., 6442870., 6453565.,
      6464260., 6474955., 6485650., 6496345., 6507040.};
  const int batches = 3;
  const int m = 16;
  const int k = 15;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseFalse, M16xK16xN14) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      19176.,   19312.,   19448.,   19584.,   19720.,   19856.,   19992.,
      20128.,   20264.,   20400.,   20536.,   20672.,   20808.,   20944.,
      46312.,   46704.,   47096.,   47488.,   47880.,   48272.,   48664.,
      49056.,   49448.,   49840.,   50232.,   50624.,   51016.,   51408.,
      73448.,   74096.,   74744.,   75392.,   76040.,   76688.,   77336.,
      77984.,   78632.,   79280.,   79928.,   80576.,   81224.,   81872.,
      100584.,  101488.,  102392.,  103296.,  104200.,  105104.,  106008.,
      106912.,  107816.,  108720.,  109624.,  110528.,  111432.,  112336.,
      127720.,  128880.,  130040.,  131200.,  132360.,  133520.,  134680.,
      135840.,  137000.,  138160.,  139320.,  140480.,  141640.,  142800.,
      154856.,  156272.,  157688.,  159104.,  160520.,  161936.,  163352.,
      164768.,  166184.,  167600.,  169016.,  170432.,  171848.,  173264.,
      181992.,  183664.,  185336.,  187008.,  188680.,  190352.,  192024.,
      193696.,  195368.,  197040.,  198712.,  200384.,  202056.,  203728.,
      209128.,  211056.,  212984.,  214912.,  216840.,  218768.,  220696.,
      222624.,  224552.,  226480.,  228408.,  230336.,  232264.,  234192.,
      236264.,  238448.,  240632.,  242816.,  245000.,  247184.,  249368.,
      251552.,  253736.,  255920.,  258104.,  260288.,  262472.,  264656.,
      263400.,  265840.,  268280.,  270720.,  273160.,  275600.,  278040.,
      280480.,  282920.,  285360.,  287800.,  290240.,  292680.,  295120.,
      290536.,  293232.,  295928.,  298624.,  301320.,  304016.,  306712.,
      309408.,  312104.,  314800.,  317496.,  320192.,  322888.,  325584.,
      317672.,  320624.,  323576.,  326528.,  329480.,  332432.,  335384.,
      338336.,  341288.,  344240.,  347192.,  350144.,  353096.,  356048.,
      344808.,  348016.,  351224.,  354432.,  357640.,  360848.,  364056.,
      367264.,  370472.,  373680.,  376888.,  380096.,  383304.,  386512.,
      371944.,  375408.,  378872.,  382336.,  385800.,  389264.,  392728.,
      396192.,  399656.,  403120.,  406584.,  410048.,  413512.,  416976.,
      399080.,  402800.,  406520.,  410240.,  413960.,  417680.,  421400.,
      425120.,  428840.,  432560.,  436280.,  440000.,  443720.,  447440.,
      426216.,  430192.,  434168.,  438144.,  442120.,  446096.,  450072.,
      454048.,  458024.,  462000.,  465976.,  469952.,  473928.,  477904.,
      1401320., 1405552., 1409784., 1414016., 1418248., 1422480., 1426712.,
      1430944., 1435176., 1439408., 1443640., 1447872., 1452104., 1456336.,
      1485800., 1490288., 1494776., 1499264., 1503752., 1508240., 1512728.,
      1517216., 1521704., 1526192., 1530680., 1535168., 1539656., 1544144.,
      1570280., 1575024., 1579768., 1584512., 1589256., 1594000., 1598744.,
      1603488., 1608232., 1612976., 1617720., 1622464., 1627208., 1631952.,
      1654760., 1659760., 1664760., 1669760., 1674760., 1679760., 1684760.,
      1689760., 1694760., 1699760., 1704760., 1709760., 1714760., 1719760.,
      1739240., 1744496., 1749752., 1755008., 1760264., 1765520., 1770776.,
      1776032., 1781288., 1786544., 1791800., 1797056., 1802312., 1807568.,
      1823720., 1829232., 1834744., 1840256., 1845768., 1851280., 1856792.,
      1862304., 1867816., 1873328., 1878840., 1884352., 1889864., 1895376.,
      1908200., 1913968., 1919736., 1925504., 1931272., 1937040., 1942808.,
      1948576., 1954344., 1960112., 1965880., 1971648., 1977416., 1983184.,
      1992680., 1998704., 2004728., 2010752., 2016776., 2022800., 2028824.,
      2034848., 2040872., 2046896., 2052920., 2058944., 2064968., 2070992.,
      2077160., 2083440., 2089720., 2096000., 2102280., 2108560., 2114840.,
      2121120., 2127400., 2133680., 2139960., 2146240., 2152520., 2158800.,
      2161640., 2168176., 2174712., 2181248., 2187784., 2194320., 2200856.,
      2207392., 2213928., 2220464., 2227000., 2233536., 2240072., 2246608.,
      2246120., 2252912., 2259704., 2266496., 2273288., 2280080., 2286872.,
      2293664., 2300456., 2307248., 2314040., 2320832., 2327624., 2334416.,
      2330600., 2337648., 2344696., 2351744., 2358792., 2365840., 2372888.,
      2379936., 2386984., 2394032., 2401080., 2408128., 2415176., 2422224.,
      2415080., 2422384., 2429688., 2436992., 2444296., 2451600., 2458904.,
      2466208., 2473512., 2480816., 2488120., 2495424., 2502728., 2510032.,
      2499560., 2507120., 2514680., 2522240., 2529800., 2537360., 2544920.,
      2552480., 2560040., 2567600., 2575160., 2582720., 2590280., 2597840.,
      2584040., 2591856., 2599672., 2607488., 2615304., 2623120., 2630936.,
      2638752., 2646568., 2654384., 2662200., 2670016., 2677832., 2685648.,
      2668520., 2676592., 2684664., 2692736., 2700808., 2708880., 2716952.,
      2725024., 2733096., 2741168., 2749240., 2757312., 2765384., 2773456.,
      4618472., 4626800., 4635128., 4643456., 4651784., 4660112., 4668440.,
      4676768., 4685096., 4693424., 4701752., 4710080., 4718408., 4726736.,
      4760296., 4768880., 4777464., 4786048., 4794632., 4803216., 4811800.,
      4820384., 4828968., 4837552., 4846136., 4854720., 4863304., 4871888.,
      4902120., 4910960., 4919800., 4928640., 4937480., 4946320., 4955160.,
      4964000., 4972840., 4981680., 4990520., 4999360., 5008200., 5017040.,
      5043944., 5053040., 5062136., 5071232., 5080328., 5089424., 5098520.,
      5107616., 5116712., 5125808., 5134904., 5144000., 5153096., 5162192.,
      5185768., 5195120., 5204472., 5213824., 5223176., 5232528., 5241880.,
      5251232., 5260584., 5269936., 5279288., 5288640., 5297992., 5307344.,
      5327592., 5337200., 5346808., 5356416., 5366024., 5375632., 5385240.,
      5394848., 5404456., 5414064., 5423672., 5433280., 5442888., 5452496.,
      5469416., 5479280., 5489144., 5499008., 5508872., 5518736., 5528600.,
      5538464., 5548328., 5558192., 5568056., 5577920., 5587784., 5597648.,
      5611240., 5621360., 5631480., 5641600., 5651720., 5661840., 5671960.,
      5682080., 5692200., 5702320., 5712440., 5722560., 5732680., 5742800.,
      5753064., 5763440., 5773816., 5784192., 5794568., 5804944., 5815320.,
      5825696., 5836072., 5846448., 5856824., 5867200., 5877576., 5887952.,
      5894888., 5905520., 5916152., 5926784., 5937416., 5948048., 5958680.,
      5969312., 5979944., 5990576., 6001208., 6011840., 6022472., 6033104.,
      6036712., 6047600., 6058488., 6069376., 6080264., 6091152., 6102040.,
      6112928., 6123816., 6134704., 6145592., 6156480., 6167368., 6178256.,
      6178536., 6189680., 6200824., 6211968., 6223112., 6234256., 6245400.,
      6256544., 6267688., 6278832., 6289976., 6301120., 6312264., 6323408.,
      6320360., 6331760., 6343160., 6354560., 6365960., 6377360., 6388760.,
      6400160., 6411560., 6422960., 6434360., 6445760., 6457160., 6468560.,
      6462184., 6473840., 6485496., 6497152., 6508808., 6520464., 6532120.,
      6543776., 6555432., 6567088., 6578744., 6590400., 6602056., 6613712.,
      6604008., 6615920., 6627832., 6639744., 6651656., 6663568., 6675480.,
      6687392., 6699304., 6711216., 6723128., 6735040., 6746952., 6758864.,
      6745832., 6758000., 6770168., 6782336., 6794504., 6806672., 6818840.,
      6831008., 6843176., 6855344., 6867512., 6879680., 6891848., 6904016.};
  const int batches = 3;
  const int m = 16;
  const int k = 16;
  const int n = 14;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseFalse, M16xK16xN15) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      20536.,   20672.,   20808.,   20944.,   21080.,   21216.,   21352.,
      21488.,   21624.,   21760.,   21896.,   22032.,   22168.,   22304.,
      22440.,   49592.,   49984.,   50376.,   50768.,   51160.,   51552.,
      51944.,   52336.,   52728.,   53120.,   53512.,   53904.,   54296.,
      54688.,   55080.,   78648.,   79296.,   79944.,   80592.,   81240.,
      81888.,   82536.,   83184.,   83832.,   84480.,   85128.,   85776.,
      86424.,   87072.,   87720.,   107704.,  108608.,  109512.,  110416.,
      111320.,  112224.,  113128.,  114032.,  114936.,  115840.,  116744.,
      117648.,  118552.,  119456.,  120360.,  136760.,  137920.,  139080.,
      140240.,  141400.,  142560.,  143720.,  144880.,  146040.,  147200.,
      148360.,  149520.,  150680.,  151840.,  153000.,  165816.,  167232.,
      168648.,  170064.,  171480.,  172896.,  174312.,  175728.,  177144.,
      178560.,  179976.,  181392.,  182808.,  184224.,  185640.,  194872.,
      196544.,  198216.,  199888.,  201560.,  203232.,  204904.,  206576.,
      208248.,  209920.,  211592.,  213264.,  214936.,  216608.,  218280.,
      223928.,  225856.,  227784.,  229712.,  231640.,  233568.,  235496.,
      237424.,  239352.,  241280.,  243208.,  245136.,  247064.,  248992.,
      250920.,  252984.,  255168.,  257352.,  259536.,  261720.,  263904.,
      266088.,  268272.,  270456.,  272640.,  274824.,  277008.,  279192.,
      281376.,  283560.,  282040.,  284480.,  286920.,  289360.,  291800.,
      294240.,  296680.,  299120.,  301560.,  304000.,  306440.,  308880.,
      311320.,  313760.,  316200.,  311096.,  313792.,  316488.,  319184.,
      321880.,  324576.,  327272.,  329968.,  332664.,  335360.,  338056.,
      340752.,  343448.,  346144.,  348840.,  340152.,  343104.,  346056.,
      349008.,  351960.,  354912.,  357864.,  360816.,  363768.,  366720.,
      369672.,  372624.,  375576.,  378528.,  381480.,  369208.,  372416.,
      375624.,  378832.,  382040.,  385248.,  388456.,  391664.,  394872.,
      398080.,  401288.,  404496.,  407704.,  410912.,  414120.,  398264.,
      401728.,  405192.,  408656.,  412120.,  415584.,  419048.,  422512.,
      425976.,  429440.,  432904.,  436368.,  439832.,  443296.,  446760.,
      427320.,  431040.,  434760.,  438480.,  442200.,  445920.,  449640.,
      453360.,  457080.,  460800.,  464520.,  468240.,  471960.,  475680.,
      479400.,  456376.,  460352.,  464328.,  468304.,  472280.,  476256.,
      480232.,  484208.,  488184.,  492160.,  496136.,  500112.,  504088.,
      508064.,  512040.,  1501112., 1505344., 1509576., 1513808., 1518040.,
      1522272., 1526504., 1530736., 1534968., 1539200., 1543432., 1547664.,
      1551896., 1556128., 1560360., 1591608., 1596096., 1600584., 1605072.,
      1609560., 1614048., 1618536., 1623024., 1627512., 1632000., 1636488.,
      1640976., 1645464., 1649952., 1654440., 1682104., 1686848., 1691592.,
      1696336., 1701080., 1705824., 1710568., 1715312., 1720056., 1724800.,
      1729544., 1734288., 1739032., 1743776., 1748520., 1772600., 1777600.,
      1782600., 1787600., 1792600., 1797600., 1802600., 1807600., 1812600.,
      1817600., 1822600., 1827600., 1832600., 1837600., 1842600., 1863096.,
      1868352., 1873608., 1878864., 1884120., 1889376., 1894632., 1899888.,
      1905144., 1910400., 1915656., 1920912., 1926168., 1931424., 1936680.,
      1953592., 1959104., 1964616., 1970128., 1975640., 1981152., 1986664.,
      1992176., 1997688., 2003200., 2008712., 2014224., 2019736., 2025248.,
      2030760., 2044088., 2049856., 2055624., 2061392., 2067160., 2072928.,
      2078696., 2084464., 2090232., 2096000., 2101768., 2107536., 2113304.,
      2119072., 2124840., 2134584., 2140608., 2146632., 2152656., 2158680.,
      2164704., 2170728., 2176752., 2182776., 2188800., 2194824., 2200848.,
      2206872., 2212896., 2218920., 2225080., 2231360., 2237640., 2243920.,
      2250200., 2256480., 2262760., 2269040., 2275320., 2281600., 2287880.,
      2294160., 2300440., 2306720., 2313000., 2315576., 2322112., 2328648.,
      2335184., 2341720., 2348256., 2354792., 2361328., 2367864., 2374400.,
      2380936., 2387472., 2394008., 2400544., 2407080., 2406072., 2412864.,
      2419656., 2426448., 2433240., 2440032., 2446824., 2453616., 2460408.,
      2467200., 2473992., 2480784., 2487576., 2494368., 2501160., 2496568.,
      2503616., 2510664., 2517712., 2524760., 2531808., 2538856., 2545904.,
      2552952., 2560000., 2567048., 2574096., 2581144., 2588192., 2595240.,
      2587064., 2594368., 2601672., 2608976., 2616280., 2623584., 2630888.,
      2638192., 2645496., 2652800., 2660104., 2667408., 2674712., 2682016.,
      2689320., 2677560., 2685120., 2692680., 2700240., 2707800., 2715360.,
      2722920., 2730480., 2738040., 2745600., 2753160., 2760720., 2768280.,
      2775840., 2783400., 2768056., 2775872., 2783688., 2791504., 2799320.,
      2807136., 2814952., 2822768., 2830584., 2838400., 2846216., 2854032.,
      2861848., 2869664., 2877480., 2858552., 2866624., 2874696., 2882768.,
      2890840., 2898912., 2906984., 2915056., 2923128., 2931200., 2939272.,
      2947344., 2955416., 2963488., 2971560., 4947768., 4956096., 4964424.,
      4972752., 4981080., 4989408., 4997736., 5006064., 5014392., 5022720.,
      5031048., 5039376., 5047704., 5056032., 5064360., 5099704., 5108288.,
      5116872., 5125456., 5134040., 5142624., 5151208., 5159792., 5168376.,
      5176960., 5185544., 5194128., 5202712., 5211296., 5219880., 5251640.,
      5260480., 5269320., 5278160., 5287000., 5295840., 5304680., 5313520.,
      5322360., 5331200., 5340040., 5348880., 5357720., 5366560., 5375400.,
      5403576., 5412672., 5421768., 5430864., 5439960., 5449056., 5458152.,
      5467248., 5476344., 5485440., 5494536., 5503632., 5512728., 5521824.,
      5530920., 5555512., 5564864., 5574216., 5583568., 5592920., 5602272.,
      5611624., 5620976., 5630328., 5639680., 5649032., 5658384., 5667736.,
      5677088., 5686440., 5707448., 5717056., 5726664., 5736272., 5745880.,
      5755488., 5765096., 5774704., 5784312., 5793920., 5803528., 5813136.,
      5822744., 5832352., 5841960., 5859384., 5869248., 5879112., 5888976.,
      5898840., 5908704., 5918568., 5928432., 5938296., 5948160., 5958024.,
      5967888., 5977752., 5987616., 5997480., 6011320., 6021440., 6031560.,
      6041680., 6051800., 6061920., 6072040., 6082160., 6092280., 6102400.,
      6112520., 6122640., 6132760., 6142880., 6153000., 6163256., 6173632.,
      6184008., 6194384., 6204760., 6215136., 6225512., 6235888., 6246264.,
      6256640., 6267016., 6277392., 6287768., 6298144., 6308520., 6315192.,
      6325824., 6336456., 6347088., 6357720., 6368352., 6378984., 6389616.,
      6400248., 6410880., 6421512., 6432144., 6442776., 6453408., 6464040.,
      6467128., 6478016., 6488904., 6499792., 6510680., 6521568., 6532456.,
      6543344., 6554232., 6565120., 6576008., 6586896., 6597784., 6608672.,
      6619560., 6619064., 6630208., 6641352., 6652496., 6663640., 6674784.,
      6685928., 6697072., 6708216., 6719360., 6730504., 6741648., 6752792.,
      6763936., 6775080., 6771000., 6782400., 6793800., 6805200., 6816600.,
      6828000., 6839400., 6850800., 6862200., 6873600., 6885000., 6896400.,
      6907800., 6919200., 6930600., 6922936., 6934592., 6946248., 6957904.,
      6969560., 6981216., 6992872., 7004528., 7016184., 7027840., 7039496.,
      7051152., 7062808., 7074464., 7086120., 7074872., 7086784., 7098696.,
      7110608., 7122520., 7134432., 7146344., 7158256., 7170168., 7182080.,
      7193992., 7205904., 7217816., 7229728., 7241640., 7226808., 7238976.,
      7251144., 7263312., 7275480., 7287648., 7299816., 7311984., 7324152.,
      7336320., 7348488., 7360656., 7372824., 7384992., 7397160.};
  const int batches = 3;
  const int m = 16;
  const int k = 16;
  const int n = 15;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}
TYPED_TEST(MatmulBatch3Beta0FalseFalse, M16xK16xN16) {
  using DataType = typename TestFixture::DataType;
  const std::vector<DataType> exp_out = {
      21896.,   22032.,   22168.,   22304.,   22440.,   22576.,   22712.,
      22848.,   22984.,   23120.,   23256.,   23392.,   23528.,   23664.,
      23800.,   23936.,   52872.,   53264.,   53656.,   54048.,   54440.,
      54832.,   55224.,   55616.,   56008.,   56400.,   56792.,   57184.,
      57576.,   57968.,   58360.,   58752.,   83848.,   84496.,   85144.,
      85792.,   86440.,   87088.,   87736.,   88384.,   89032.,   89680.,
      90328.,   90976.,   91624.,   92272.,   92920.,   93568.,   114824.,
      115728.,  116632.,  117536.,  118440.,  119344.,  120248.,  121152.,
      122056.,  122960.,  123864.,  124768.,  125672.,  126576.,  127480.,
      128384.,  145800.,  146960.,  148120.,  149280.,  150440.,  151600.,
      152760.,  153920.,  155080.,  156240.,  157400.,  158560.,  159720.,
      160880.,  162040.,  163200.,  176776.,  178192.,  179608.,  181024.,
      182440.,  183856.,  185272.,  186688.,  188104.,  189520.,  190936.,
      192352.,  193768.,  195184.,  196600.,  198016.,  207752.,  209424.,
      211096.,  212768.,  214440.,  216112.,  217784.,  219456.,  221128.,
      222800.,  224472.,  226144.,  227816.,  229488.,  231160.,  232832.,
      238728.,  240656.,  242584.,  244512.,  246440.,  248368.,  250296.,
      252224.,  254152.,  256080.,  258008.,  259936.,  261864.,  263792.,
      265720.,  267648.,  269704.,  271888.,  274072.,  276256.,  278440.,
      280624.,  282808.,  284992.,  287176.,  289360.,  291544.,  293728.,
      295912.,  298096.,  300280.,  302464.,  300680.,  303120.,  305560.,
      308000.,  310440.,  312880.,  315320.,  317760.,  320200.,  322640.,
      325080.,  327520.,  329960.,  332400.,  334840.,  337280.,  331656.,
      334352.,  337048.,  339744.,  342440.,  345136.,  347832.,  350528.,
      353224.,  355920.,  358616.,  361312.,  364008.,  366704.,  369400.,
      372096.,  362632.,  365584.,  368536.,  371488.,  374440.,  377392.,
      380344.,  383296.,  386248.,  389200.,  392152.,  395104.,  398056.,
      401008.,  403960.,  406912.,  393608.,  396816.,  400024.,  403232.,
      406440.,  409648.,  412856.,  416064.,  419272.,  422480.,  425688.,
      428896.,  432104.,  435312.,  438520.,  441728.,  424584.,  428048.,
      431512.,  434976.,  438440.,  441904.,  445368.,  448832.,  452296.,
      455760.,  459224.,  462688.,  466152.,  469616.,  473080.,  476544.,
      455560.,  459280.,  463000.,  466720.,  470440.,  474160.,  477880.,
      481600.,  485320.,  489040.,  492760.,  496480.,  500200.,  503920.,
      507640.,  511360.,  486536.,  490512.,  494488.,  498464.,  502440.,
      506416.,  510392.,  514368.,  518344.,  522320.,  526296.,  530272.,
      534248.,  538224.,  542200.,  546176.,  1600904., 1605136., 1609368.,
      1613600., 1617832., 1622064., 1626296., 1630528., 1634760., 1638992.,
      1643224., 1647456., 1651688., 1655920., 1660152., 1664384., 1697416.,
      1701904., 1706392., 1710880., 1715368., 1719856., 1724344., 1728832.,
      1733320., 1737808., 1742296., 1746784., 1751272., 1755760., 1760248.,
      1764736., 1793928., 1798672., 1803416., 1808160., 1812904., 1817648.,
      1822392., 1827136., 1831880., 1836624., 1841368., 1846112., 1850856.,
      1855600., 1860344., 1865088., 1890440., 1895440., 1900440., 1905440.,
      1910440., 1915440., 1920440., 1925440., 1930440., 1935440., 1940440.,
      1945440., 1950440., 1955440., 1960440., 1965440., 1986952., 1992208.,
      1997464., 2002720., 2007976., 2013232., 2018488., 2023744., 2029000.,
      2034256., 2039512., 2044768., 2050024., 2055280., 2060536., 2065792.,
      2083464., 2088976., 2094488., 2100000., 2105512., 2111024., 2116536.,
      2122048., 2127560., 2133072., 2138584., 2144096., 2149608., 2155120.,
      2160632., 2166144., 2179976., 2185744., 2191512., 2197280., 2203048.,
      2208816., 2214584., 2220352., 2226120., 2231888., 2237656., 2243424.,
      2249192., 2254960., 2260728., 2266496., 2276488., 2282512., 2288536.,
      2294560., 2300584., 2306608., 2312632., 2318656., 2324680., 2330704.,
      2336728., 2342752., 2348776., 2354800., 2360824., 2366848., 2373000.,
      2379280., 2385560., 2391840., 2398120., 2404400., 2410680., 2416960.,
      2423240., 2429520., 2435800., 2442080., 2448360., 2454640., 2460920.,
      2467200., 2469512., 2476048., 2482584., 2489120., 2495656., 2502192.,
      2508728., 2515264., 2521800., 2528336., 2534872., 2541408., 2547944.,
      2554480., 2561016., 2567552., 2566024., 2572816., 2579608., 2586400.,
      2593192., 2599984., 2606776., 2613568., 2620360., 2627152., 2633944.,
      2640736., 2647528., 2654320., 2661112., 2667904., 2662536., 2669584.,
      2676632., 2683680., 2690728., 2697776., 2704824., 2711872., 2718920.,
      2725968., 2733016., 2740064., 2747112., 2754160., 2761208., 2768256.,
      2759048., 2766352., 2773656., 2780960., 2788264., 2795568., 2802872.,
      2810176., 2817480., 2824784., 2832088., 2839392., 2846696., 2854000.,
      2861304., 2868608., 2855560., 2863120., 2870680., 2878240., 2885800.,
      2893360., 2900920., 2908480., 2916040., 2923600., 2931160., 2938720.,
      2946280., 2953840., 2961400., 2968960., 2952072., 2959888., 2967704.,
      2975520., 2983336., 2991152., 2998968., 3006784., 3014600., 3022416.,
      3030232., 3038048., 3045864., 3053680., 3061496., 3069312., 3048584.,
      3056656., 3064728., 3072800., 3080872., 3088944., 3097016., 3105088.,
      3113160., 3121232., 3129304., 3137376., 3145448., 3153520., 3161592.,
      3169664., 5277064., 5285392., 5293720., 5302048., 5310376., 5318704.,
      5327032., 5335360., 5343688., 5352016., 5360344., 5368672., 5377000.,
      5385328., 5393656., 5401984., 5439112., 5447696., 5456280., 5464864.,
      5473448., 5482032., 5490616., 5499200., 5507784., 5516368., 5524952.,
      5533536., 5542120., 5550704., 5559288., 5567872., 5601160., 5610000.,
      5618840., 5627680., 5636520., 5645360., 5654200., 5663040., 5671880.,
      5680720., 5689560., 5698400., 5707240., 5716080., 5724920., 5733760.,
      5763208., 5772304., 5781400., 5790496., 5799592., 5808688., 5817784.,
      5826880., 5835976., 5845072., 5854168., 5863264., 5872360., 5881456.,
      5890552., 5899648., 5925256., 5934608., 5943960., 5953312., 5962664.,
      5972016., 5981368., 5990720., 6000072., 6009424., 6018776., 6028128.,
      6037480., 6046832., 6056184., 6065536., 6087304., 6096912., 6106520.,
      6116128., 6125736., 6135344., 6144952., 6154560., 6164168., 6173776.,
      6183384., 6192992., 6202600., 6212208., 6221816., 6231424., 6249352.,
      6259216., 6269080., 6278944., 6288808., 6298672., 6308536., 6318400.,
      6328264., 6338128., 6347992., 6357856., 6367720., 6377584., 6387448.,
      6397312., 6411400., 6421520., 6431640., 6441760., 6451880., 6462000.,
      6472120., 6482240., 6492360., 6502480., 6512600., 6522720., 6532840.,
      6542960., 6553080., 6563200., 6573448., 6583824., 6594200., 6604576.,
      6614952., 6625328., 6635704., 6646080., 6656456., 6666832., 6677208.,
      6687584., 6697960., 6708336., 6718712., 6729088., 6735496., 6746128.,
      6756760., 6767392., 6778024., 6788656., 6799288., 6809920., 6820552.,
      6831184., 6841816., 6852448., 6863080., 6873712., 6884344., 6894976.,
      6897544., 6908432., 6919320., 6930208., 6941096., 6951984., 6962872.,
      6973760., 6984648., 6995536., 7006424., 7017312., 7028200., 7039088.,
      7049976., 7060864., 7059592., 7070736., 7081880., 7093024., 7104168.,
      7115312., 7126456., 7137600., 7148744., 7159888., 7171032., 7182176.,
      7193320., 7204464., 7215608., 7226752., 7221640., 7233040., 7244440.,
      7255840., 7267240., 7278640., 7290040., 7301440., 7312840., 7324240.,
      7335640., 7347040., 7358440., 7369840., 7381240., 7392640., 7383688.,
      7395344., 7407000., 7418656., 7430312., 7441968., 7453624., 7465280.,
      7476936., 7488592., 7500248., 7511904., 7523560., 7535216., 7546872.,
      7558528., 7545736., 7557648., 7569560., 7581472., 7593384., 7605296.,
      7617208., 7629120., 7641032., 7652944., 7664856., 7676768., 7688680.,
      7700592., 7712504., 7724416., 7707784., 7719952., 7732120., 7744288.,
      7756456., 7768624., 7780792., 7792960., 7805128., 7817296., 7829464.,
      7841632., 7853800., 7865968., 7878136., 7890304.};
  const int batches = 3;
  const int m = 16;
  const int k = 16;
  const int n = 16;
  const auto beta = static_cast<DataType>(0);
  const DataType max_input_val = 2048.0;
  this->run(exp_out, batches, m, k, n, beta, 0, 0, 0, max_input_val);
}